Simulating the ThinkerShield with a Breadboard

The big disadvantage to simulating the ThinkerShield is the inconvenience of it. On the other hand you have a couple of nice advantages: it saves money and you get to be hands-on with the electronic components, not just the software.

For each video, you only need to simulate the parts of the ThinkerShield that are used. For several of them that means just the LEDs.

If you've done this sort of thing before, you'll not need much more than the schematic. Go for it. The rest of this page gives more detail on building the circuits on a breadboard.

Most breadboards have a couple of power rails. I would connect the Arduino's 5V to one rail (for later circuits, e.g. stepper motor), IOREF to another, and the Arduino's GND1 terminal to one or more of the breadboard's ground rails.

The LEDs

You need six LEDs (not necessarily green), six resistors and at least seven hookup wires. The schematic shows 470 Ω resistors. It'll be easier on your eyes (and on the LEDs) if you use 1000 Ω resistors.

From the ThinkerShield schematic: ThinkerShield LED scehmatic

Which can be wired up on a breadboard: LED breadboard layout

The next picture gives you a detailed look at the breadboard layout. The important thing is to connect the negative lead of the LED with the resistor. The negative lead is the shorter one. It's also marked with a flat at the base of the LED lens. LED breadboard detail

The Button

You need a normally open momentary pushbutton and a 10 kΩ resistor.

It'll be most convenient if you get a button that can plug into your breadboard (sometimes they have a habit of popping out), but you can also solder wires onto the button's terminals and plug those into the breadboard.

Detail from the schematic: ThinkerShield button schematic

Wiring it up on the breadboard: Button breadboard

The button's pins are permanently connected horizontally. Pressing the button connects them vertically too. When you press the button it connects IORef to pin 7. When you release the button again, the voltage drains away to ground through the 10k resistor.

The Potentiometer

Breadboard potentiometer

You can buy 10 kΩ breadboard trimpots which include a knob. This makes it convenient to operate on a breadboard. If you use a conventional potentiometer, you might want to solder hookup wires to it to connect to the breadboard.

The centre terminal is the analog output to connect to A5. The other two terminals connect to your IOREF and GND rails. If you connect them the wrong way round the knob will just work the other way (i.e. voltage increasing anti-clockwise).

Detail from the schematic: ThinkerShield potentiometer schematic

Wiring it up on a breadboard: Potentiometer breadboard layout

The three pins should plug into three different rows on the breadboard.


The ThinkerShield uses a GL5516 photoresistor which you can get for very little money. The resistance reduces as the light increases. You'll also need a 1 kΩ resistor.

Detail from the schematic: ThinkerShield LDR schematic

Wiring it up on a breadboard: LDR breadboard layout

You want the pins in two separate rows, as shown.

The Buzzer

Breadboard buzzer

Be careful ordering this item. Firstly, it must be able to handle 5V; secondly, it should be a "transducer" buzzer, which means that the Arduino can control the pitch. There are fixed pitch buzzers which look the same, but just turn on and off when power is applied. Not very musical.

Buzzers are available in various diameters, but they're all pretty tinny sounding. Don't expect beefy bass notes even from the larger ones.

Detail from the schematic (obviously we won't need the jumper; just pull out one of the wires to disable the buzzer): ThinkerShield buzzer schematic

Wiring it up on a breadboard: Buzzer breadboard layout

The pins go in different rows with the hookup wires plugged into the corresponding rows. If a pin is marked with a polarity (+ or -), put the - to the black wire and the + to the blue.

Other things

The ThinkerShield's alligator clip terminals just go through the to the corresponding pin on the Arduino. That's not much different to plugging a wire straight into that terminal.

The schematic includes ESD protection. This reduces the risk of connecting wires to a live Arduino. The risk isn't to your life, but to the ATmega chip. It's probably safe for things like LEDs, but it might be wise to unplug your Arduino before connecting a stepper motor, say.


The minimum "bill of materials" to do all the above circuits: