LED Matrix Controller
2026.02.15·completedelectronicsPCBC++ESP32
A custom-designed PCB and firmware for controlling a 16x16 WS2812B addressable LED matrix, powered by an ESP32.
Overview
Built a hardware controller from scratch:
- PCB designed in KiCad — 2-layer board with ESP32-WROOM module, level shifter for the data line, and screw terminals for power
- Firmware in C++ — runs animation patterns, responds to serial commands, supports OTA updates
- Power management — proper decoupling, bulk capacitance, and current limiting for 256 LEDs
Lessons Learned
- Always add test points to your PCB — debugging without them is painful
- WS2812B timing is tight — use hardware SPI or a dedicated library, not
delayMicroseconds() - 256 LEDs at full white draws ~15A — plan your power supply accordingly
This was my first custom PCB project. The first revision had a footprint error on the level shifter. The second revision worked perfectly.