Join The Parade, New South Wales - Ph:+61-2-1234-5678



PBS kids: Lesson Plans & Activities:

iPBSKids Circuit Simulator

WARNING - These switches and activities are for use with low voltage battery power circuits & under adult supervision only - Electricity can kill!

Make A Flying Pig:
Blades plus sticky nose, eyes and ears equals ?

LED Fashion

You can also use 'Glowies' to make jewellery and as fashion accessories:


Simple rubber-band helicopter design can be enhanced with motorised power, flashing lights and other 'features'. Here is a howto for a prototype: http://www.instructables.com/id/Rubberband-Helicopters-step-by-step/

Cereal Box Robot

A simple robot… but how will you make it move and/or speak? http://makezine.com/projects/cereal-box-robot/

University of Sydney - Toy Science


Kirigami & 3D Paper Cutting

Aluminium Foil Switches

A disability switch is a very cheap and effective switch for people who have difficulty moving

A mat switch allows you to trigger an effect (or disable one) when someone steps in a certain spot. They're thin and generally about three feet wide so people won't step over them.

Aluminium foil contacts (Open) Metal Contacts (Closed) Metal Contacts (Open)

A home-made mat switch can be made very cheaply using cardboard and aluminium foil. Some trial and error will be required to get the sensitivity right.

Make a switch by covering two boards with aluminium foil over their entire surface. Attach electrical wires with tape, glue or alligator clips.

The middle layer separates the two foil sheets (say a sheet of paper sandwiched between the upper and lower foil surfaces). This middle layer has holes or strips cut into it. When the mat is stepped on, the upper layer pushes through the holes/strips in the middle layer and makes contact with the lower layer, and makes a 'closed' switch that can be used to control an electrical circuit.

The holes/strips in the separator need to be about a centimeter wide. The width will affect the sensitivity, i.e. the amount of weight needed to turn the mat on. The easiest way to do this is to cut inch-wide strips of thick paper or cardboard and tape them down across one of the foil sides like louvres. Tape them at their ends along the edge of the mat.

Tape over the last centimetre of foil along these edges to prevent contact at the edge of the mat where the layers aren't well separated by the strips. Also be sure the strips at either end extend out past the top and bottom layers at the extreme edge, otherwise the end of the top layer could fold over and make contact.

Mat Switch: Insulated strips between alfoil sheets Door Switch: Burglar alarm Momentary Switch - Normally Open

If the mat is to go under carpet, it needs to be MORE sensitive because the carpet spreads out the force of the foot. If the sensitivity is too low, it's possible for these mats to fail to trigger when a small child steps on them. Any ridges in the floor may make the mat unreliable (works best on a smooth floor)

A Simple Tilt Sensor & Wearable Switches

A Pressure Sensor

Make a pressure sensor/mat alarm that you can hide under a rug? Then whenever your puppy steps on the alarm, it will trigger a sound. Place your pressure mat alarms strategically inside doorways/pet entry/exit points:


  • The SHINY side of the aluminum foil is slightly most conductive - for that reason consider which side you glue to cardboard
  • Glue soft padding (rubber bands, thin foam, paper towel) between board and aluminium foil to increase sensitivity of pads BUT…
  • Make sure the foil is not overly creased or crumpled… and too many ridges and/or too much padding may make action unreliable.
  • Test your sensor as you go - don't wait until you finish to discover it doesn't work!



  1. Top and bottom board (any relatively light, slightly sturdy substance; cardboard, masonite, depending on size of pad). Stiff cardboard works best in most situations).
  2. Aluminum foil (standard grocery store al. foil wrap is fine)
  3. Rubber/Plastic mesh, shelf liner or similar soft paper wipes/towels (non-conductive and springy is important; anti-slip rug padding works very well)
  4. Rubber bands (small thickness and length)
  5. Adhesive tape or glue. Almost any kind of adhesive tape will do and is muc easier to use than glue for plates up to 300mm square. If gluing, a spray adhesive will work best. Most other types of glue are messy and will take much too long to dry
  6. Two wires (for electrical connection purposes)
  7. An electrical circuit to test your switch (a simple torch will do)


  1. Find two wires with an alligator clip at each end, or two lengths of wire with the insulation removed from each end. The wire should be 300mm or longer, depending on how you intend to use your sensor.
  2. Find two sheets of cardboard at least 300mm wid e and 300mm high (the back and front of a cereal pack for example). Wirite the words BACK and FRONT clearly on the back and front of each sheet.
  3. Either use alligator clips to attach your wires, OR find some wire and remove at least 50mm of the plastic insulation from each end so that the wire is exposed.
  4. If you are using alligator clips, skip next two item numbers.
  5. If you are using wire only, then make a small hole in the centre on the BACK of each cardboard sheet. Push the bare wire through the hole so that the stripped part of the wire is on the FRONT of each sheet of cardboard. Tape the plastic insulation from the wire onto the BACK of the cardboard sheet (to make the wire secure so that it cannot easily be pulled out of the hole).
  6. Glue or tape aluminium to the FRONT of each sheet. If you are using alligator clips, go to next line. If using bare wire, make sure the wire is touching the aluminium foil - do not put glue or tape between the wire and the foil.
  7. If you are using crocodile/alligator clips, simply connect one one wire to each of the edge of each sheet so that the clip makes good contact with the aluminium foil and so that the clip is not easily pulled off (you may tape the lead to the back of each piece of card for extra strength.
  8. Cut four small squares of soft sponge and glue/tape onto one of the aluminium covered pads - one piece of sponge at each corner (use an old bathroom sponge or similar). If you have no sponge, then use one or more soft rubber bands (or similar).

Now, simply tape/glue the plates to the sponges so that the sponges hold the two plates securely apart and so that the FRONT/aluminium sides face each other but do not touch.

Testing: Attach the two wires/alligator clips from your your pressure switch to your test circuit. Push down on the plate to press the aluminium sheets together. This should 'close' your pressure sensor switch and activate your circuit!

If it doesn't work, check your connections. Do both wires actually touch the aluminium sheet? Do both wires ouch the contacts on your test circuit?

In case the foil does not make contact, scruch up some spare aluminum foil into a ball and tape the ball into the approximate cente of your two aluminium sheets. Make sure there is a space between the ball and the top sheet when there is no pressure, but that the ball touches both sheets when the two plates are gently pressed together?

If it works for a while and then stops working, make sure that the aluminium foil balls are NOT constantly touching each other. If the sheets are constantly touching, then stick a little foam only in the areas where the plates touch (so that they do not make contact)

Raspberry PI as Scratch Interface Dev

To access the functions of an off-the-shelf radio controlled car, by taking apart the controller and adding minimal buffering electronic components

Adding wires and terminals/a proper connector on the radio controller unit and connect via a suitable cable to the GPIO pins on the Raspberry Pi (controls forward/back/left/right functions on the car by setting different pins on/off on the pi).

In Scratch, enable remote sensing and create variables with the exact names that the handler script was expecting. The script will receive these commands and then turn on and off the GPIO pins. Setting these different variables to 1 and then 0 could be put within all the other Scratch control and other commands available in the drag and drop interface.

Introduction to Scratch GPIO: http://pihw.wordpress.com/lessons/rgb-led-lesson-2-scratch-gpio-getting-started/

Normally, Scratch’s powers of control extend only to the screen and speakers attached to the Raspberry Pi, and usually actions are directed by the program flow or by external inputs such as the keyboard and mouse.

However, Raspberry Pi blogger “SimpleSi” (http://cymplecy.wordpress.com/) has produced a plug-in to allow Scratch to talk to the GPIO pins on the Raspberry Pi too. This allows Scratch to control “real things” and to respond to the “real environment”, which literally opens up a whole new world of possibilities: http://cymplecy.wordpress.com/2013/04/22/scratch-gpio-version-2-introduction-for-beginners/

Although a Raspberry Pi can be programmed to use Scratch to control the GPIO pins, because of the limited computing power of the Pi, once the Scratch scripts become longer and more complex, it starts to becomes quite slow to use.

However, there is another way of using the GPIO pins on your Pi – turn it into SID – a Scratch Interface Device - and simply use Scratch on a desktop/laptop PC and get it to remotely control the GPIO pins via a WiFi connection.

@gbaman is working on a full remote control suite https://github.com/gbaman/Pi_Connector but its not yet packaged up for classroom deployment so in the meantime, please try out the following code/instructions.


Using Scratch controlling Raspberry Pi GPIO Remotely

The Scratch GPIO handler program can be run with a parameter of an LAN IP address.

Run Scratch on the desktop of a PC/Mac/Linux machine (or even another Raspberry Pi) and write you code on that and get it to control the GPIO pins on your Raspberry PI remotely:

  • run a LX terminal session on your RPi
  • sudo python simplesi_scratch_handler/scratch_gpio_handler2.py (replace with your main computer IP address)

Your Pi will then listen for broadcasts from your main computer and you can simply run Scratch on yoru main computer, enable Remote Sensor Connections and then your Pi will pick up any broadcasts/variable changes that you make on your main computer

The current scratch_gpio_handler.py has the GPIO pins fixed to the following inputs and outputs. The pin numbers given, are the pins as counted on the P1 GPIO header itself.

Outputs (21,18,16,15,13,12,11)
Inputs (26,24,22,19,10,7)

Broadcast Commands:

Command Alt Command Result
pinXon pinXhigh Turns pin X ON
pinXoff pinXlow Turns pin X OFF
allon allhigh Turns all pins ON
alloff allow Turns all pins OFF
pinpattern1010111 Sets each pin ON or OFF depending on 1 or 0 [21,18,16,15,13,12,11]

Other commands: You will need to see SimpleSi’s blog post for more information.

Command Result
motorX Runs motor X (A = pin11, B = pin12)
sonarX Trigger input on pin23, X = echo output on an input pin

To use the input pins, see the blog pages for more information.


Control low level peripherals: http://elinux.org/RPi_Low-level_peripherals


Control using WebIOPi via web browser: http://rc-car.example.com:8000/app/gpio-header/

Programme Howto (driving test): http://pi-cars.com/2012/12/23/pi-cars-and-scratch-driving-lesson-1/

Raspberry PI GPIO - Technical

The R-Pi has 17 GPIO pins brought out onto the header, most have alternated functions other than just I/O, there are two pins for UART, two for I2C and six for SPI. All the pins can be use for GPIO with either INPUT or OUTPUT, there also internal pull-up & pull-downs for each pin but the I2C pins have and onboard pull-up so using them for GPIO may not work in some cases.

RPIO.py extends RPi.GPIO in various ways, and uses the BCM GPIO numbering scheme by default:

RPIO.PWM provides PWM via DMA for the Raspberry Pi, using the onboard PWM module for semi-hardware pulse width modulation with a precision of up to 1µs.

learn/circuits/example-activities/home.txt · Last modified: 21/12/2016/ 18:20 by