Unpublished
This wiki will not appear in search results, but can still be viewed by anyone!
About the Course
Inventor School is a popular course that we've run for a couple of years but have rewritten it this year. It's designed as a fun introduction to both electronic hardware and software. The students get given a handful of electronic components and a programmable microcontroller board and then work through a number of exercises and challenges. At the end they're able to write programmes to control all sorts of electronics and along the way they make fun things like programmable alarms, games and even a simple laser projector.
There are two separate strands of the course - a junior and senior version and any steps involving the programming side of things have two versions - a drag-and-drop version and a textual version. Many steps o flessons are shared between junior and senior courses, but any that are just for the junior veresions are signified by a '(M)' in their title (Mblock) and the senior ones by an '(A)'. The students should be told to just skip any of the steps that are not intended for their version of the course. We nominally do the drag-and-drop version with the preteens (9-12 years old) and the textual version with the teens (13-17 years old). However as the hardware kit is exactly the same, there is the option of moving an advanced pre-teen to the textual programming version, or a teen who is struggling to the drag-and-drop version. We'll leave it to you as a tutor to work out if there are any students in your group who should do the 'other version'.
At the end of the tutorials the students are free to 'make their own invention' using any of the components and techniques that they've learnt.
We're trying to get the students to:
- Understand how to use basic electronic components and a solderless breadboard
- Get a good grasp of programming in either of the two environments
- Enjoy making some fun gadgets that they can take home!
This course is divided into 10 sessions (nominally each a half-day in length). There are no instructions for the last afternoon (the 10th session) as by then the students should be able to make their own inventions and come up with their own projects.
You will see that in most of the sessions, new components are handed out. This should prevent students from jumping ahead - something you want to avoid. If some students finish all of the challenges for one session early, encourage them to try other challenges (that you set them or that they choose themselves) rather than allowing them to go on to the next session.
Do not worry if some sessions run on longer and need you to complete in the following 'half-day'. It's better that the students take their time and understand the concepts, and also have an opportunity to complete most of the challenges. You may also find that some sessions later on go much quicker, so it will even itself out. If you don't finish all of the sessions, it isn't the end of the world - the students could easily go home after the 9th session as the 10th is just really coming up with their own ideas and/or trying extension projects. For that matter, even if they don't finish a couple of the other later lessons, they go home with all of the components so could complete them at home.
Note that the programming concepts introduced in this course are deliberately kept fairly simple as the focus is more on the electronics and inventions/creativity. For example, it is not until right at the end of the course that variables and 'for' loops are introduced. Students will probably need some extra assistance when they encounter these concepts for the first time. When working with the keypad challenge, this requires creation of functions which is a skill not detailed in the guides. Tutors will need to either run through how this is done in the two environments as a whole class, or alternatively to show students individually once they reach this stage.
The Kit List
Student consumables (one per student to take home)
- 1 x Inventor School stamp card
- 1 x Labelled box
- 1 x Large breadboard
- 1 x 5V Pro micro with round pin headers soldered on
- 1 x 70cm length each of red and black single-core hookup wire
- 1 x 50cm length each of yellow, orange, blue and green single-core hookup wire
- 1 x 50cm length of aluminium wire & 1x 15cm length
- 10g Bluetack (1/10th of 95g pack - cut in half, then each half in 5 using scissors)
- 1 x Premade laser module
- 1 x Conductive plastic bags
- 1 x Step-up module (made up with pin headers and battery pack)
- 4 x AAA batteries
- 2 x Laser cut mirrors
- 4 x 5mm LEDs (red/green/red bright/bicolour)
- 1 x 5mm diam x 10mm length cylindrical magnet
- 1 x Large LDR
- 2 x 1k resistors
- 5 x 220 ohm resistors
- 1 x Active buzzer
- 2 x Pushbuttons (breadboard-mount)
- 1 x Reed switch
- 1 x Vibration sensor
- 1m Aluminium tape
- 1 x LED assembly (premade strip of 5 RGB with female header socket)
- 2 x 22mm plastic gears
- 2 x Motors (3V 5420RPM)
- 4 x Sticky pads
- 2 x 1N4001 Diodes
- 1 x 4x4 Keypad
- 1m Bell wire
- 2 x BC337 Transistors
- 1 x Sheet of paper
- 4 x Crocodile cables (2x red and 2 x black)
- 1 x Mini slide switch
- 1 x Micro usb cable
- 1 x Laser-cut base board
- 1 x 8-way ribbon cable
Student non-consumables (one per student, not to take home)
- 1 x Headphones
- 1 x Sidecutters
- 1 x Wire strippers
Other class supplies
- Several rolls of sticky tape
- Several pairs of scissors
- Stamp for record cards
- 1 x Ruler (1m)
Pre-Camp Setup (By Tech Camp)
- Make up laser modules
- Solder 4-pin headers onto step-up modules
- Solder round-pin headers onto Arduino Pro Micros
- Make up Led strip assemblies
- Laser cut mirrors
- Laser cut base boards
- Print stamp cards
- Print out labels for boxes
- Separate m-m jumper cables into 8 wire sections
Preparing Yourself
Like any practical course you'll find this much easier to teach if you have run through it yourself as completely as possible first. Even if you're experienced with electronics and programming this will allow you to find out which parts of the course are tricky. Also, when we're running a course for the first few times there may be the occasional mistake or parts of instructions that are not clear and this is a great way of identifying them.
As a minimum, you'll need to:
- Run through this guide completely and be comfortable with it
- Run through the student's guide completely, building and writing the programmes for as many of the activities and challenges as you can
As the start of this course is tutor-led you'll also need to run through your delivery of the course a couple of times - ideally out loud, but at least in your head. If you are working with more than one tutor, you will want to decide between yourselves how to split the tasks/explanations in this initial part of the lesson.
Tutor Training Day
When you arrive for the tutor training day (at Winchester this will be before the students arrive, for other camps it will be a number of weeks before the first camp), we will go through some general things (like child protection training), but the bulk of the day will be on preparing yourself for teaching the course.
What will I receive?
If you are working at a non-residential venue you will receive a full set of parts and tools, which will allow you to complete all parts of the course.
If you are working at a residential venue, you will not receive any parts, however you will still be able to go through the student guides and try creating all of the programs yourself. There will be ample equipment and time to try out the projects during the first few days at camp.
How will we check that you are prepared?
We will expect you to:
- Explain to us some of the concepts in the tutor guide - i.e. you need to be able to tell us how the course is organised, what some of the important points are about safety and efficiently operating the courses, and be able to answer questions about these things intelligently!
- We'll ask you to show us some of your programs, and some of the more complex circuits using your kit of parts.
- We will ask you to run through the delivery of the starts of some of the lessons, as detailed at the end of this guide, as if you were delivering the course for real.
What will we show you?
- You should have been able to try out everything in the student guides - we will of course be able to answer any further questions you may have, and give you some tips and tricks to improve your delivery of the course.
Pre-course Setup
For this course, you need to be super-organised. Before the session you need to lay out all the component bags on tables in a 'teacher only' area and make sure you know what they all are. The students should not be allowed to get components themselves as this will cause general chaos and lead to components going missing.
Most components will be handed out during the session time itself, but you will want to put the following on their desks before they arrive:
- One pair of side cutters
- One pair of wire strippers
- One box/bag for their components
You will also want to pre-cut 70cm lengths of red and black hookup wire (one for each student) and 50cm lengths of yellow, orange, blue, and green hookup wire (again, one for each student). You will hand these out during the session but pre-cutting them into the long pieces will save time during the session.
IT Systems Check
- mBlock and Arduino must open and successfully program some test code to the Arduinos. If mBlock fails to compile the code, see the workaround in the Guidelines for tutors section.
- Check no admin permissions are required to download and/or install the required LED strip libraries for both mBlock and Arduino
- Student logins work for this website (login details for students on this page)
- All videos work in the student guide
- Check following websites are available:
- vimeo.com
- youtube.com
- courses.techcamp.org.uk
Rules for Students
- Take your time - the more you understand, the easier you'll find it to complete subsequent challenges.
- If something doesn't work, check through the wiring and programming (twice) and then get a friend to check as well before asking your tutor!
- Don't touch the components on the tutor tables,
- Keep your desk space tidy. Components that are not being used should be kept in their bag/box, particularly at the end of each session. If you lose something, you'll need to find it!
Guidelines for Tutors
- Encourage the students to take their time and re-watch the videos/instructions if needed - the better they understand them, the more success they will experience and the more fun they will have.
- Encourage the students to always check their wiring and programming a couple of times if it doesn't work and then get a friend to check it as well. This will make your life much easier!
- Students should generally not get 'extra' components
- If students tell you that they have lost something, make them find it - it will probably be on the floor, under a piece of paper/keyboard, etc
- Keep an eye out on the number of components that you have left. You should have plenty for the courses but think ahead and flag up with the Technical Manager if you think you might run short of anything (particularly if you are teaching the course over multiple weeks)
Bricked Arduinos
The type of Arduino we are using at camp can be relatively easily 'bricked' (made inoperational) through programming alone as the USB programming connection firmware is running on the same chip as the students' code. This can typically happen if a student selects the wrong board (running at a different clock speed), or if their programme is sufficiently buggy to completely halt the microcontroller. In this case, the Arduinos can often be unbricked by pressing the upload button and immediately after, quickly shorting out the RST pin on the module to the GND pin next to it (with a screwdriver, etc). If you hear the USB enumeration sound and the device programmes, you have fixed it. If not, try again, with a slightly longer or shorter delay between pressing the upload button and shorting out these pins.
mBlock Uploading Issue Workaround
Occasionally at some venues, mBlock will always fail to upload the code to the Arduino as the process for compiling the code is blocked by the school system's user policy, which we have not so far been able to fix. If this is the case at your venue, students are still able to use mBlock but will need to open the Arduino IDE separately (selecting the correct board/port in Arduino IDE as usual), and can then copy/paste the code generated in mBlock into the Arduino IDE and upload from there.
Unfortunately the ledstrip library they install in mBlock won't carry over to the Arduino IDE, and so any programs using this library will fail to compile as they are missing the files. To fix this, add these files to a folder called ledstrip, which you will need to create in My Documents > Arduino > Libraries. This will then allow the code to compile.
Session 1 - Buzzers, LEDs, and buttons
- Tutors introduce themselves / kids introduce themselves
- Optional welcome activity
- Explain what they will cover in Inventor School - they will learn about:
- How common electronic components work
- How to wire up a solderless breadboard
- How to programme a microcontroller to control all of these components
- Along the way they'll make some fun gadgets (buzzers, flashing lights, alarms, games and even a laser projector!)
- Give them these Important Tips:
- If anything doesn't work, check your wiring and programming carefully (twice) and then ask a friend to help you check before asking a tutor. 99% of the time it will be a wiring problem - either wires not put in, wires put in the wrong place, components connecting that shouldn't be, or components around the wrong way, or a programming problem (or both!)
- Don't ever unplug your Arduino whilst uploading - you might 'brick' it!
- Hand out the long lengths of wire and demonstrate how to cut them into 10cm lengths and strip 5mm off each end They should get at least 7 red and black jumper wires from their 70cm pieces, and 5 of each of the other colours. There is a ruler in the class supplies. You might want to draw some 10cm lines on some pieces of paper and hand out to the students. While you're doing this you might also want to add some 5mm and 10mm lines to the piece of paper, as this will come in useful later.
- Hand out the following components, explaining what each one is as you do so (see suggested notes in brackets)
- 1 x Breadboard (Used to connect components together)
- 1 x Power supply module/battery pack ( It creates a constant 5V from the batteries until they are pretty much dead)
- 1 x Set of batteries for this battery pack
- 1 x Buzzer (This is called an 'active' buzzer - it has circuitry in that will make an annoying high-pitched sound. It is polarised, which means it must be connected the right way around (long lead is positive)
- 2 x Pushbuttons
- Explain how the breadboard works - each strip of five holes in a column is connected together (you can see this if you look closely). There are also four 'rails' - two at the top and two at the bottom. Each of these is connected across the complete horizontal run, not just in groups of 5. Again, if you look closely you can see this. You might want to show this on the screen.
- Now they need to wire up a simple circuit, show them the following picture and get them to insert the components as shown
- Now show them the following wiring and explain how it works. Point out the path electricity takes from the positive of the supply through the positive rail, all the components, tracks and wires, through the negative rail and back to the power supply.
- Get them to wire up this circuit and go around helping them if needed
- Now get everyone to be quiet (this will be difficult as you've now showed them how to make an annoying sound generator - if all else fails, confiscate their buzzers!)
- Explain about Morse Code:
- Explain how coding/decoding sheet works (and do decode challenge) - can show video but probably better to explain this in person. The second half is a decoding challenge, and again you might prefer to do this in person using a real buzzer so that you can pace it to suit the students - when you do this, you'll want to freeze-frame the video (full screen) so students have the decode chart to work with in front of them. They'll want to use Notepad or something similar to type their answers as they go.
- Explain that they will now run through their own guides, listening carefully to instructions, following the tutorials and trying the challenges - they'll need to show them to you to get stamped-off
- Run through the rules!:
- Check your circuit very carefully before connecting the power. Some components like the Arduino could be permanently damaged or destroyed if you connect the power the wrong way.
- The first time you connect power to a circuit, feel the components to see if any are warm - if they are, turn off immediately!
- Take your time - the more you understand, the easier you'll find it to complete subsequent challenges.
- If something doesn't work, check through the wiring and programme (twice) and then get a friend to check as well before asking your tutor!
- Don't touch the components on the tutor tables.
- Keep your desk space tidy. Components that are not being used should be kept in their bag/box, particularly at the end of each session. If you lose something, you'll need to find it!
- Before they start, hand out:
- 1 x Red LED
- 1 x Green LED
- 5 x 220 ohm resistors
- 2 x 1k resistors
- Get them to snip the leads of each component so they are 10mm long. With the resistors, they should bend one one of the legs 180 degrees so it comes out parallel to and in the same direction as the other leg first. You might need to demonstrate this.
Session 2 - Bicolour LEDs and the slide switch
- You are now going to receive:
- 1 x Bicolour LED
- 1 x Slide switch
The slide switch has three legs. When the switch is moved to the right, it will connect the two right-most pins together. When the switch is moved to the left, it will connect the two left-most pins together.
The Bicolour LED has two LEDs inside it - a red one and a green one. The outside two leads are the positives of the two LEDs. The middle lead is the negative of both of them.
Show wiring diagram below and:
- Explain operation of switch and state of pin 10 vs direction of switch
- Review what the two resistors do
- Note that we have two pins now controlling the LED so we can independently turn on red and green (or both if we want)
Now work through your Session 2 guide!
Session 3 - Reed switches and vibration switches
You'll now be receiving:
- 1 x Reed switch ('normally open' and activated by a magnet)
- 1 x Magnet (warning: can shatter if it jumps rapidly to other magnets and metal objects)
- 1 x Vibration switch (This is 'normally closed' and will open if moved)
- 1 x Circa 10g portion of bluetack (1/10th of a pack)
How a reed switch works:
How a vibration switch works: (metal rod loosely held in split metal cylinder)
What you'll be making today:
- Magnetic alarm (for a door/window/cupboard etc)
- Vibration alarm
Do you remember how you connected your previous pushbutton switches? (Hint: you used a resistor - you'll need to connect these two new switches in a similar way)
Session 4 - Conductors and insulators
You'll now be receiving:
- 1m x Aluminium Tape
- 1 x 50cm piece of aluminium wire + 1 x 15cm piece
- 1 x Conductive black plastic bag
- 2 x Red crocodile cables
- 2 x Black crocodile cables
- 1 x Plastic base board
You'll now be making:
- A continuity indicator
- Pressure mat
- Steady hand game (buzz wire)
Session 5 - Lights and Lasers
You'll now be given:
- 1 x LDR (light dependent resistor)
- 1 x Laser module with batteries
- 2 x Mirrors
Talking points:
- What is the difference between digital and analogue?
- What is an ADC?
- How many values does a 10 bit binary number give?
What you'll be making:
- Light detector
- Dark detector
- The 'annoyanator'
- A laser trip wire
Session 6 - The laser projector
You'll now be given:
- 2 x Motors
- 2 x Plastic gears
- 2 x BC337 transistors
- 2 x 1N4001 diodes
Talking points:
- Demonstration of laser projector
- Explanation of what transistors do (electronic switch)
- Explanation of why diodes needed and the importance of connecting them the right way around!
- Explanation of PWM and how it can help control the speed of the motors
Session 7 - The LED strip
You'll now be given:
- 1 x LED strip
Talking points:
- What the LED strip can do
- How the LED strip works in a 'daisy chain'
- How the eye sees colours (RGB)
What you'll make:
- F1 Traffic light
- Reaction timer V 2.0
- Mood light
Notes:
- This step requires the students to install a library (this is detailed in their guides). This step will only be needed to be done the first time on any one computer as once the library is installed once it will be kept on the computer.
- This step also introduces variables and for loops - students may need some assistance with this (particularly the senior students using the Arduino environment)
- Try these two cool LED programs. They need fastLED to be installed (definitely better than Neopixel - Madison&Paul).
Session 8 - The keypad
You'll now be given:
- 1 x Keypad
- 1 x Rainbow coloured M/M jumper cable (8-way)
Talking points:
- How matrix keypads work
You'll be making:
- A secret code alarm deactivator
Notes:
- Reading the keypad is quite a tricky concept to understand. You will probably want to run through how keypads work and how the algorithm for working out which button is pressed works as well as a whole class.
Session 9 - Vibration motor & Game show
You'll be making:
- A silent alarm (using a vibration motor)
- A two-person game show
Talking points:
- How a two-person game show works (first button hit turns the team's light on - there should be a short delay and the system should reset itself)
Extension Challenges
As there are so many components and techniques covered during the course, hopefully either you as a tutor or the students themselves can easily come up with ideas of things to keep them occupied after they've finished the set tutorials. As always we'd love it if you could let us know if either you or your students come up with some fun challenges and projects!
Idea 1 - Electronic Dice
Bored of board games? Spice them up with an electronic version of a dice. Just like the old fashioned cube with six sides, your electronic dice will have to have some way of showing six different values. You could beep a certain number of times or flash a light. You might instead want to use the LED strip and have one LED for each number - there's only 5 LEDs but I'm sure you can think of a fun way of showing if someone rolls a six! Just like the more familiar dice, it's important that when you 'roll' the dice the number chosen is random. Here's a a simple way of getting a random number ... you can write a programme that quickly cycles through the different numbers (perhaps by turning different LEDs on) while a button is pressed. When the user releases the button then the programme should stop, leaving whatever LED turned on that is currently shown. If you cycle quickly enough through the six different LEDs (remember that the microcontroller runs your programme incredibly quickly unless you deliberately put delays in it), then the moment you release the button it could be showing any one of the six values so it will appear to be random.
Idea 2 - Alarm Clock
Your microcontroller board is good at counting accurate times so you can use this and create an alarm clock. A simple version can be made by just counting a certain fixed time when you press a button and then sounding a buzzer, but you might want to have a few different times that you could select using switches. Adults often need around 8 hours of sleep but children need more - a typical 8 year old might need 10 or 11 hours of sleep a night. Hint: there is a built in variable called 'timer' (in Mblock) that counts up the number of seconds since programme start. In the Arduino environment proper, there is also a function called millis() that returns the number of milliseconds since start. Can you think of a way to make an improved alarm clock? Perhaps you might want one that has a 'snooze' button when you move your hand through a laser beam? ( a 'snooze' button typically gives you 10 minutes extra sleep time before going off again) Perhaps you might like to make one that has to be hit to turn off (using the vibration switch)? How about one that wakes you up gradually by slowly shining a brighter and brighter light towards you, or one that detects how much light is outside (with your LDR) and goes when the sun rises?
Idea 3 - Bedside Light
How about creating the ultimate bedside light? What makes it the ultimate light, you might ask? Well that depends entirely on you. Perhaps you like nodding off to sleep with a good book but you always end up with the light left on? In this case you might want a sleep function that automatically turns the light off after a certain time. Maybe you'd like to create a dimmable light instead? The RGB LED strip is perfect for this as you can turn on all five LEDs or just one. How about a bedside light that can actually improve your sleep or help you study? It might sound far-fetched but recent research has shown that blue light can help to keep people awake for longer so this might be good for your light when in 'study mode' but just before bed when you're reading a book you might want it in 'sleep mode' with a warm colour like amber to reduce the amount of blue light that can prevent you from easily getting to sleep.
Idea 4 - Pot Plant Water Gauge
Do you have some pot plants in your house that sometimes get a bit neglected? You can easily make a gadget that lets you know when they need watering. When soil is wet it will conduct electricity. Push two pieces of metal into the soil (like the bits of the aluminium wire in your kit) and then clip two alligator leads to them. You can then use the soil like a switch and read whether it's "pressed" (wet) or not. You can decide how you want to alert the user to a dry pot plant - you could use the buzzer, or LEDs. By using multiple inputs you can even monitor several pot plants at the same time.
Idea 5 - Bop-it
At one of our test events, one of the campers made a successful 'bop-it' game where the user had to press one of a number of switches based on the lights/sounds being made. The game got increasingly fast, and at the end it game feedback (by beeping) related to the number of successful actions.
Idea 6 - Dance mat
At this same event, some students joined together and used their pressure switches to make a bigger array to be used in a sound/light 'dance mat' game.
Idea 7 - DIY Robotic Car (An advanced project that you could try at home!)
Do you have an inexpensive motorised toy that you're fed up with? Why not try your hand at some 'Robot Brain Surgery' and give it a brain transplant! Inexpensive remote controlled cars often have two motors - one controlling the back wheels to make it go forwards or backwards and one that turns the front wheels left or right. You should know how to make a motor driver circuit with your transistors! If you remove the screws holding the car together you should be able to find the two motors. By cutting the wires connecting these two motors to the car's circuit board you'll then be able to use your crocodile cables to connect them to your breadboard If you like you can completely remove the circuit board that's already inside the car (and you can remove the batteries from the car as well - you'll be using the step-up module that we supplied). You'll end up with a simple robot buggy that can be programmed over a USB cable to perform various moves. Why not try setting up an obstacle course and see if you can programme your car to move around it? You'll want to keep it super simple at first - perhaps just programme the buggy to go forward and stop at a certain position, but once you get going you might next get your programme to make the buggy turn around and come back to you.
Don't have a remote control car? How about hacking a Teddy Bear to have glowing eyes or turn it into the world's first Teddy with a built in alarm system?
Idea 8 - 'Ping pong' using the LED strip
Try wiring up two buttons which 'bat' the LED light back and forth along the strip. You could establish a single player mode and a two player mode using a switch to change between each one. Maybe the time taken between each LED lighting up could get quicker between each exchange in order to make it harder as you go along.
Idea 9 - 16x2 LCD screen
You will have a few of these in the class kit - this should be an extension activity for super fast/advanced campers only, and are not to be taken home. They can obviously add this to basically any of the projects to extend them - as this is a super advanced challenge they will need to lookup the Arduino library they will need to use and work out how to connect it themselves. There are lots of great and easy to follow tutorials online for this which are easy to find - for example https://www.arduino.cc/en/Tutorial/Liqui...
Packing Up
Your supplies should always be packed up as neatly as they came! This means:
- Components are in labelled bags, and grouped in bigger bags
- There should be no bags of unsorted components
- Don't put obviously used components (resistors/capacitors with cut leads etc) back into the supply bags - if you find these on the floor just throw them out at the end