Project archive

Entry 03 / Embedded hardware

Traffic-light controller.

A breadboard first. A PCB design next.

Breadboard built · PCB v1 designed
  • Arduino
  • KiCad
  • 74HC595
  • BJT switching
  • Breadboarding
My Traffic-light controller lab build MY BREADBOARD BUILD

01 / The work

A breadboard first. A PCB design next.

I built the breadboard prototype shown below, then worked on a PCB version in KiCad. This was an early project that gave me hands-on practice connecting a controller, display, and discrete components. The prototype and the PCB are separate stages: the breadboard was built, while the PCB remains a design.

01

Build a physical prototype

I wired the Arduino and components on a breadboard to explore the traffic-light sequence and countdown behavior. The photograph and short demo are my own prototype record.

02

Develop the PCB version

The board design uses an Arduino Nano, a 74HC595 shift register, a four-digit seven-segment display, transistor-driven traffic LEDs, a buzzer, and a pedestrian button. The schematic and board files are available to inspect directly.

03

Keep the first revision reviewable

I kept the BOM, Gerbers, board renders, footprint files, and original project notes together. The firmware is not in the current repository snapshot. Before building the PCB, I need to verify the display part and footprint pinout and run a complete design review.

A little time at the workbench

Connect. Observe. Refine.

Explore a simple circuit, then step through one of my PCB designs.

5 V330 ΩLEDGND
Calculated current9.1 mACircuit closed

Breadboard learning model

One resistor makes a difference.

Switch the supply or change the series resistor. A larger resistance lowers the current through the LED.

Idealized DC example: I = (5 V − 2 V) / R. The LED has an assumed 2 V forward drop. Animation shows the current path; it is not a measurement or a wiring guide for my op-amp.

03 / Bill of materials

The parts behind the board.

Component values and references from the repository BOM. Scroll across for the assigned footprints.

ReferencesQtyPart / valueAssigned footprint
A11Arduino_Nano_v3.xModule:Arduino_Nano_WithMountingHoles
BZ11BuzzerBuzzer_Beeper:Buzzer_12x9.5RM7.6
C110.1 µFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm
D1,D2,D33LEDLED_THT:LED_D5.0mm
Q1,Q2,Q33PN2222APackage_TO_SOT_THT:TO-92_Inline
R1,R3,R531000Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal
R2,R4,R63330Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal
R10110kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal
R77,RA1,RB1,RC1,RD1,RDPX1,RE1,RF1,RG19220Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal
SW11Pedestrian ButtonButton_Switch_THT:SW_PUSH_6mm_H5mm
U1174HC595Package_DIP:DIP-16_W7.62mm
U21CC56-12SRWADisplay_7Segment:CA56-12SRWA

Open the working files

Project files21

Download ZIP
21 of 21 files
TrafficLight_BOM.csvBOM/TrafficLight_BOM.csv
1 KB
DESC.mdDESC.md
7 KB
TrafficLight_GERBERS.zipGERBERS/TrafficLight_GERBERS.zip
181 KB
TrafficLight.kicad_pcbKiCad_files/TrafficLight.kicad_pcb
519 KB
TrafficLight.kicad_proKiCad_files/TrafficLight.kicad_pro
16 KB
TrafficLight.kicad_schKiCad_files/TrafficLight.kicad_sch
121 KB
Breadboard_Setup.jpgexports/Breadboard_Setup.jpg
4.9 MB
TrafficLight_3D_Bottom.pngexports/TrafficLight_3D_Bottom.png
168 KB
TrafficLight_3D_Top.pngexports/TrafficLight_3D_Top.png
202 KB
TrafficLight_PCB_Top.pngexports/TrafficLight_PCB_Top.png
95 KB
TrafficLight_Working.movexports/TrafficLight_Working.mov
10.2 MB
TrafficLight_schematic.pngexports/TrafficLight_schematic.png
83 KB
Arduino_Nano_WithMountingHoles.kicad_modlibrairies/Arduino_Nano_WithMountingHoles.kicad_mod
13 KB
Buzzer_12x9.5RM7.6.kicad_modlibrairies/Buzzer_12x9.5RM7.6.kicad_mod
3 KB
CA56-12SRWA.kicad_modlibrairies/CA56-12SRWA.kicad_mod
6 KB
C_Disc_D5.0mm_W2.5mm_P2.50mm.kicad_modlibrairies/C_Disc_D5.0mm_W2.5mm_P2.50mm.kicad_mod
3 KB
DIP-16_W7.62mm.kicad_modlibrairies/DIP-16_W7.62mm.kicad_mod
6 KB
LED_D5.0mm.kicad_modlibrairies/LED_D5.0mm.kicad_mod
4 KB
R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal.kicad_modlibrairies/R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal.kicad_mod
3 KB
SW_PUSH_6mm_H5mm.kicad_modlibrairies/SW_PUSH_6mm_H5mm.kicad_mod
6 KB
TO-92_Inline.kicad_modlibrairies/TO-92_Inline.kicad_mod
4 KB

Source files and repository notes are preserved as a project record. Notes may describe intended behavior. See the project stages above for what was built and tested.

Download the printable schematic PDF

What stayed with me

Lessons from the work.

  • Building on a breadboard exposes wiring and integration details that are easy to miss in a diagram.

  • The prototype and PCB revision need their own clear records.

  • Keeping editable files and exports together makes it easier to revisit an early design.

Next steps / Still ahead

What I want to document next.

  1. 01Add the firmware used by the breadboard prototype.
  2. 02Reconcile the display BOM value and assigned footprint, including common pin arrangement.
  3. 03Check component pinouts and power connections, then fabricate and test a revised board.
Continue exploringESP32-CAM learning notes