Companion reference · Entropy Reducer course

Circuit Diagrams

A ready-made wiring diagram for every circuit in the course — no need to lay these out in Fritzing yourself. Each one lists every real connection as a colour-coded wire, plus the parts and any gotchas worth knowing before you pick up a breadboard. All physical pin numbers refer to the standard 40-pin Raspberry Pi header.

How to read these

Week 2

LED & switch test circuit

The simplest possible proof that GPIO output and input both work, before anything more expensive is at risk.

Parts

PartSearch for in FritzingQty
Breadboard (half-size is plenty)"breadboard" (core parts bin)1
LED, 5mm"LED" (core parts bin)1
Resistor"resistor", set value to 220Ω1
Momentary pushbutton"pushbutton" (core parts bin) — stands in for the real contact switch1

Connections

FromToWire
Pi pin 11 (GPIO17)220Ω resistor, leg 1teal
Resistor, leg 2LED anode (long leg)—
LED cathode (short leg)Pi pin 9 (GND)black
Pi pin 38 (GPIO20)Pushbutton, leg 1teal
Pushbutton, leg 2 (diagonal)Pi pin 34 (GND)black
Wiring tipNo physical pull-up resistor is needed — the Pi's internal pull-up is enabled in software (GPIO.PUD_UP). Don't add one in the schematic, or the wiring will look right but not match what the code expects.

Diagram

Week 2 — LED & switchPi pin 11 (GPIO17)220Ω resistor → LED anode (+)Pi pin 9 (GND)LED cathode (−, short leg)Pi pin 38 (GPIO20)Pushbutton, leg 1Pi pin 34 (GND)Pushbutton, leg 2 (diagonal)powergroundGPIO signal
No physical pull-up resistor needed — the Pi's internal pull-up (GPIO.PUD_UP) does that job in software.
Week 5

Stepper motor & homing switch

The Motor HAT sits on top of the Pi's own header, so in breadboard view it's usually clearest to draw it as its own labelled block rather than trying to show all 40 pass-through pins.

Parts

PartSearch for in FritzingQty
Adafruit Motor HATAdafruit Fritzing-Library, or draw as a labelled generic IC/board outline if not found1
NEMA-17 stepper motor"stepper motor" (core parts bin has a generic 4-wire stepper)1
Limit/contact switch"pushbutton" or "slide switch" as a stand-in1
External power supply"battery" or "power supply" (core parts bin), relabelled1

Connections

FromToWire
Pi 40-pin headerMotor HAT header (stacked)— (HAT sits directly on top)
Motor HAT, "M1" stepper port (4 pins)Stepper motor, 4 coil wiresmatch coil pairs — see the motor's datasheet for which two wires form each coil
External PSU +/-Motor HAT power terminal blockred / black
Pi pin 38 (GPIO20)Limit switch, leg 1teal
Limit switch, leg 2Pi pin 34 (GND)black
CarefulThe Pi's own 5V rail cannot supply a stepper motor — the external PSU is not optional. Never wire the motor's power straight to the Pi.

Diagram

Week 5 — Stepper motor & homing switchExternal PSU +Motor HAT power terminal (+)External PSU −Motor HAT power terminal (−)Motor HAT “M1” portStepper motor — 4 coil wires (match pairs per datasheet)Pi pin 38 (GPIO20)Limit switch, leg 1Pi pin 34 (GND)Limit switch, leg 2powergroundGPIO signal
The Motor HAT stacks on the Pi's 40-pin header (not shown as a separate wire) — the Pi's own 5V rail cannot power the motor, so the external PSU is not optional.
Week 7

AS7341 colour sensor & NeoPixel

Two independent circuits doing two different jobs: I2C for the colour sensor, which has its own onboard LED for illuminating the Skittle, and a single data line for the NeoPixel, which is purely a user-feedback indicator and plays no part in the sensor reading.

Parts

PartSearch for in FritzingQty
Adafruit AS7341 breakoutAdafruit Fritzing-Library — confirmed present as Adafruit AS7341.fzpz1
NeoPixel strip (user-feedback indicator only)Adafruit Fritzing-Library has NeoPixel Jewel/strip parts; search "NeoPixel"1

Connections

FromToWire
Pi pin 1 (3V3)AS7341 VINred
Pi pin 9 (GND)AS7341 GNDblack
Pi pin 3 (GPIO2 / SDA)AS7341 SDAteal
Pi pin 5 (GPIO3 / SCL)AS7341 SCLteal
Pi pin 2 (5V)NeoPixel 5Vred
Pi pin 6 (GND)NeoPixel GNDblack
Pi pin 32 (GPIO12)NeoPixel DINteal
Wiring tipDraw the sensor and the NeoPixel as two clearly separate wire bundles even though they share the Pi's GND — the AS7341's own onboard LED handles illumination entirely on its own, and the NeoPixel exists purely to give the operator visual feedback, so keeping them visually separate here matches how the workbook explains it.

Diagram

Week 7 — AS7341 colour sensor & NeoPixelPi pin 1 (3V3)AS7341 VINPi pin 9 (GND)AS7341 GNDPi pin 3 (GPIO2 / SDA)AS7341 SDAPi pin 5 (GPIO3 / SCL)AS7341 SCLPi pin 2 (5V)NeoPixel 5VPi pin 6 (GND)NeoPixel GNDPi pin 32 (GPIO12)NeoPixel DINpowergroundGPIO signal
Two independent circuits sharing only the Pi's ground — I2C for the sensor (whose own onboard LED handles illumination), a single data line for the NeoPixel feedback strip.
Week 9

Second stepper & sort switch

Identical pattern to Week 5, on the Motor HAT's second port and a different GPIO pin so both switches can be read independently.

Connections

FromToWire
Motor HAT, "M2" stepper portSecond stepper motor, 4 coil wires—
Pi pin 12 (GPIO18)Second limit switch, leg 1teal
Second limit switch, leg 2Pi pin 34 (GND) — or any other GND pinblack
Wiring tipIt's the same shape as Week 5 on purpose — only the Motor HAT port and the switch's GPIO pin (18 instead of 20) change.

Diagram

Week 9 — Second stepper & sort switchMotor HAT “M2” portSecond stepper motor — 4 coil wiresPi pin 12 (GPIO18)Second limit switch, leg 1Pi pin 34 (GND)Second limit switch, leg 2 (any GND works)powergroundGPIO signal
Same pattern as Week 5, on the HAT's second port and a different GPIO pin (18, not 20) so both switches read independently.
Week 11

TFT Bonnet, relocated via ribbon cable

Not a raw ST7789 breakout wired pin-by-pin — the Adafruit 1.3″ TFT Bonnet (product 4506) has a fixed pinout built into the board. The only wiring decision here is how to get its 40 pins from the Pi's header to wherever the bonnet is physically mounted.

Parts

PartSearch for in FritzingQty
Adafruit 1.3″ TFT Bonnet (240×240 + joystick + 2 buttons, product 4506)Adafruit Fritzing-Library — search "TFT Bonnet"; if absent, use a generic labelled HAT outline1
40-pin GPIO stacking header (passes every pin through)"GPIO stacking header" / "40-pin header"1
40-pin GPIO ribbon cable"40-pin ribbon cable" / "GPIO ribbon"1

Connections

Every one of these is fixed by the bonnet itself — nothing here is a wiring choice, it's what the board does the moment the ribbon cable is connected.

FromToWire
Pi 40-pin headerStacking header (passes all 40 pins through)red
Stacking headerMotor HAT — unchanged from Weeks 5/9red
Stacking header40-pin ribbon cable → TFT Bonnetred
Bonnet pin 19 (GPIO10 / MOSI)bonnet SPI MOSIteal
Bonnet pin 23 (GPIO11 / SCLK)bonnet SPI SCLKteal
Bonnet pin 24 (GPIO8 / CE0)bonnet SPI CSteal
Bonnet pin 22 (GPIO25)bonnet D/Cteal
Bonnet pin 37 (GPIO26)bonnet backlightteal
Bonnet pins 11, 13, 15, 16 (GPIO17/27/22/23)joystick, 4 directionsteal
Bonnet pin 7 (GPIO4)joystick clickteal
Bonnet pins 29 & 31 (GPIO5 / GPIO6)front buttons A & Bteal

Unlike a raw breakout, there's no separate RST pin to wire — the bonnet doesn't expose one.

Diagram

Week 11 — TFT Bonnet (relocated via ribbon cable)Pi 40-pin headerStacking header (passes all 40 pins through)Stacking headerMotor HAT (unchanged from Weeks 5/9)Stacking header40-pin ribbon cable → TFT BonnetBonnet: pin 19 (GPIO10 / MOSI)bonnet SPI MOSI (fixed by the board)Bonnet: pin 23 (GPIO11 / SCLK)bonnet SPI SCLK (fixed by the board)Bonnet: pin 24 (GPIO8 / CE0)bonnet SPI CS (fixed by the board)Bonnet: pin 22 (GPIO25)bonnet D/C (fixed by the board)Bonnet: pin 37 (GPIO26)bonnet backlight (fixed by the board)Bonnet: pins 11, 13, 15, 16 (GPIO17/27/22/23)joystick 4 directions (fixed by the board)Bonnet: pin 7 (GPIO4)joystick click (fixed by the board)Bonnet: pins 29 & 31 (GPIO5 / GPIO6)front buttons A & B (fixed by the board)powergroundGPIO signal
The bonnet's pinout is fixed by the board itself, not a choice — every one of these connections happens automatically the moment the ribbon cable is plugged in. The stacking header is what lets the Motor HAT and the bonnet share the same 40 pins at once.