

PiZeroLEDController
Golang Code, Image Builder, and PCB for a Pi-ZeroW NeoPixel Controller
- Size
- 30 × 65 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 9
- Nets
- 42
- Pads
- 70
- Tracks, vias
- 62, 0
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 18 Jan 2020
- Updated
- 3 Mar 2023
Overview
PiZeroLEDController is an open-source printed circuit board by sudermanjr, from the sudermanjr/led-controller repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 30 × 65 mm with 9 parts on 42 nets, routed with 62 tracks and 0 vias.
Its parts include 6 connectors, 2 switches and 1 capacitor. It belongs with the lEDs and displays boards of this library.
README
README.mdLED Controller
This is a project to control NeoPixel lights with a PiZeroW and golang
Homekit
led-controller homekit will start this as a homekit device. Check the help for options, specifically the homekit pin. The homekit device will work with color and brightness controls once registered.
Dashboard
Currently under heavy development. The dashboard will allow viewing and controlling the neopixel strip.
Building your Pi Controller
In the pi-builder directory is the cloud-init for building my pi image using Hypriot. I have encrypted the cloud-init.yaml file using sops and pgp since it contains secrets. There's not much to this file, so it should be easy to re-create on your own if you like.
Compiling
This is cross-compiled for the Raspberry Pi using the instructions in the rpi-ws281x repository. This utilizes a build container that is based on the Balena Golang Image. If you are using a different Pi, you will want to change the base image in the Dockerfile
The build commands are in the Makefile. You can make build to build the Docker container and then use that to build the binary for the Pi. At the end it will show the output of file led-controller to verify the type of the binary.
The build will also create a local .tmp directory for storing build cache so that subsequent builds are much much faster.
Another word of caution: This container build will utilize your local GOPATH and GOCACHE so that it doesn't have to download every package every time.
References
- golang library: https://github.com/rpi-ws281x/rpi-ws281x-go
- Pi Image Builder: https://github.com/hypriot/image-builder-rpi
Parts
9| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | 330uF | Capacitor_THT:CP_Radial_D10.0mm_P5.00mm | C1 |
| 1 | Button | Button_Switch_THT:SW_PUSH_6mm_H9.5mm | SW1 |
| 1 | Button 25 | Button_Switch_THT:SW_PUSH_6mm_H9.5mm | SW2 |
| 1 | Converter High Side | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J6 |
| 1 | Converter Low Side | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J5 |
| 1 | LED 12 | TerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-3_1x03_P2.54mm_Horizontal | J4 |
| 1 | LED 18 | TerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-3_1x03_P2.54mm_Horizontal | J3 |
| 1 | PiZero | Connector_PinSocket_2.54mm:PinSocket_2x20_P2.54mm_Vertical | J1 |
| 1 | Power | TerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-2_1x02_P2.54mm_Horizontal | J2 |
Questions
How big is the PiZeroLEDController PCB?
It measures 30 × 65 mm and has 2 copper layers, 1.6 mm thick.
What parts does the PiZeroLEDController use?
9 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the PiZeroLEDController KiCad files?
From the sudermanjr/led-controller repository on GitHub, at the commit this page was made from: the board is hack/kicad/PiZeroLEDController/PiZeroLEDController.kicad_pcb and its schematic hack/kicad/PiZeroLEDController/PiZeroLEDController.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the PiZeroLEDController design in my own project?
Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers103 × 30.5 mm

- 2 layers31.8 × 47.6 mm

- 2 layers24 × 27.3 mm

Expansion Card Retrofit
FrameworkComputer/ExpansionCards
Reference designs and documentation to create Expansion Cards for the Framework Laptop
9 parts1.1kCC-BY-4.0 - 2 layers15.6 × 17.3 mm

SKR Mini TFT Thermistor Board
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
9 parts1.1kGPL-3.0 - 2 layers39.1 × 49.5 mm

Learnoliver
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
9 parts915 - 2 layers17.4 × 16.9 mm

- 2 layers9.8 × 108 mm

- 2 layers

Keyboard after
adamws/kicad-kbplacer
KiCad plugin for automatic keyboard's key placement and routing
9 parts547GPL-3.0