Project 1 - Pico LED Dice
Our first PCB project: a hands-on introduction to schematics, layout, manufacturing, and firmware using the Raspberry Pi Pico.
๐ฏ Project Goal
This project is your first complete PCB build in the course.
You will design, assemble, and program a custom LED dice PCB powered by the Raspberry Pi Pico.
By completing this project, you will experience the entire PCB workflow:
Idea โ Schematic โ PCB layout โ Manufacturing โ Assembly โ Firmware
๐ง What Youโll Learn
In this project, you will learn:
- How to plan a PCB project before designing
- How to arrange LEDs to match a physical pattern
- How to connect push buttons to a microcontroller
- How the Raspberry Pi Pico is used on a custom PCB
- How firmware and hardware design influence each other
- How to prepare a PCB for real-world manufacturing
This project is intentionally simple but complete.
Future projects will build on these ideas.
๐ฒ Project Overview: Pico LED Dice
The Pico LED Dice uses:
- 14 LEDs (two dice, 7 LEDs each)
- 3 push buttons
- Left button: roll left die
- Middle button: roll both dice
- Right button: roll right die
Each group of 7 LEDs is arranged to mimic the face patterns of a standard die.
๐งฉ Components & Tools
Components
| Component | Quantity |
|---|---|
| Custom PCB | 1 |
| Raspberry Pi Pico | 1 |
| LEDs | 14 |
| 2.54 mm 20-pin headers | 2 |
| 12ร12 mm PCB push buttons | 3 |
| 3D-printed enclosure | 1 |
| Resistor 300 - 1k Ohm | 14 |
Tools & Equipment
| Tool / Equipment |
|---|
| Soldering iron + solder |
| Computer + Thonny IDE |
| Screwdriver |
| 3D printer (optional) |
๐งช Prototype First (Important!)
Before designing the PCB, this project was tested using:
- A breadboard
- Individual WS2812B LEDs
- External push buttons
Prototyping first:
- Reduces PCB mistakes
- Saves manufacturing cost
- Makes debugging easier later
๐ฅ PCB Design Workflow
Schematic Design
Once the prototype was confirmed working, the schematic was created in EasyEDA.
PCB Layout
The PCB layout focuses on:
- Clear LED placement
- Short signal paths
- Logical button positioning
๐ญ Manufacturing
The PCB for this project was manufactured using JLCPCB.
Disclosure: JLCPCB supports the NerdCave YouTube channel.
All designs and opinions in this course are based on real classroom and project experience.
๐ป Firmware
The firmware is written in MicroPython and consists of two files:
neopixel.pyโ WS2812B LED drivermain.pyโ Dice logic, button handling, and animations
๐ง Enclosure
The enclosure was designed in Fusion 360.
โ Project Complete
You have completed your first full PCB project and are now ready to move on to more advanced designs.