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

ComponentQuantity
Custom PCB1
Raspberry Pi Pico1
LEDs14
2.54 mm 20-pin headers2
12ร—12 mm PCB push buttons3
3D-printed enclosure1
Resistor 300 - 1k Ohm14

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 driver
  • main.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.