

Ws2812b controller
PCB for the hardware layer of the vinyl record shelf finder: a system that illuminates the correct cube of a Kallax 4×4 shelf when you look up a vinyl record.
- Size
- 68 × 50 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 13
- Nets
- 32
- Pads
- 48
- Tracks, vias
- 39, 17
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 16 Apr 2026
- Updated
- 16 Apr 2026
Overview
Ws2812b controller is an open-source printed circuit board by SimplicityGuy, from the SimplicityGuy/vinyl-record-shelf-led-controller repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 2-layer board of 68 × 50 mm with 13 parts on 32 nets, routed with 39 tracks and 17 vias.
It is built around the K104K15X7RF53H5G, LR1F470R and UKL1C101KPDANA. Its parts include 4 capacitors, 2 ICs, 2 connectors and 1 resistor. It belongs with the home automation and IoT boards and the ESP32 and RISC-V boards of this library.
Main components
3K104K15X7RF53H5G
插件,P=5mm100nF 50V 5mm X7R ±10% Plugin,P=5mm Multilayer Ceramic Capacitors MLCC - Leaded ROHSVishay IntertechnologyMultilayer Ceramic Capacitors MLCC - LeadedLR1F470R
插件-55℃~+155℃ 470Ω 600mW Metal Film Resistor ±1% ±50ppm/℃ 插件 Through Hole Resistors ROHSTE ConnectivityThrough Hole ResistorsUKL1C101KPDANA
插件-40℃~+105℃ 1000hrs@105℃ 100uF 16V 3.5mm 345mA@10kHz 8mm ±10% 插件 Aluminum Electrolytic Capacitors - Leaded ROHSNichiconAluminum Electrolytic Capacitors - Leaded
README
README.mdWS2812B LED Controller — Vinyl Record Shelf Finder
PCB for the hardware layer of the vinyl record shelf finder: a system that illuminates the correct cube of a Kallax 4×4 shelf when you look up a vinyl record. The shelf-finder application lives in vinyl-record-shelf-gopher and uses record metadata from discogsography.
Overview
A Raspberry Pi 4B queries a PostgreSQL database for a record's shelf location, then fires an HTTP call to WLED running on a Seeed XIAO ESP32C6. The ESP32C6 drives the correct WS2812B LED strip, lighting up the cube containing that record.
flowchart TD
PI[Raspberry Pi 4B]
ESP["XIAO ESP32C6<br/>(WLED)"]
LS["74AHCT125<br/>3.3V → 5V level shift"]
C1[Cube 1 LEDs]
C2[Cube 2 LEDs]
C16[Cube 16 LEDs]
PI -->|WiFi HTTP| ESP
ESP --> LS
LS --> C1
LS --> C2
LS -.-> C16PCB Specifications
| Parameter | Value |
|---|---|
| Dimensions | 68 × 50 mm |
| Layers | 2 (F.Cu, B.Cu) |
| Min trace width | 0.25 mm (signal) / 1.0 mm (power) |
| PCB thickness | 1.6 mm |
| Surface finish | ENIG (OSH Park) |
| Assembly | All through-hole, hand solderable |
| Mounting | 4 × M3 corner holes, 10 mm standoffs |
| Connectors | Top edge: USB-C (XIAO), DC barrel jack, LED terminal block |
Schematic
The signal path:
flowchart TD
A["XIAO D1<br/>GPIO3 (3.3V)"]
B[R1 470Ω series]
C["U2 74AHCT125<br/>1A → 1Y<br/>3.3V → 5V shift"]
D[J2 DATA pin]
E[WS2812B Strip Din]
A --> B --> C --> D --> EPower:
- 5V in via J1 (CUI PJ-102AH barrel jack, center positive)
- 5V rail shared between LED strips (via J2) and XIAO VBUS
- 3.3V generated by XIAO's onboard regulator → decoupled by C4
Bill of Materials
See BOM.csv for the full sourced BOM with DigiKey part numbers.
| Ref | Part | Description | Qty |
|---|---|---|---|
| U1 | XIAO-ESP32-C6 | Seeed XIAO ESP32C6 module | 1 |
| U2 | SN74AHCT125N | 74AHCT125 level shifter, DIP-14 | 1 |
| — | ED14DT | On Shore DIP-14 socket | 1 |
| C1 | UKL1C101KPDANA | Nichicon 100µF/16V electrolytic, P3.5mm | 1 |
| C2, C3, C4 | K104K15X7RF53H5G | Vishay KG 100nF X7R, 50V, P5.0mm | 3 |
| R1 | LR1F470R | TE 470Ω ¼W axial, P7.62mm | 1 |
| J1 | PJ-102AH | CUI DC barrel jack 2.1mm right-angle | 1 |
| J2 | 0397000803 | Molex 3-pos Eurostyle terminal block 5.00mm | 1 |
| MH1–4 | — | M3 × 6mm screws + 10mm brass standoffs | 4 |
LED Strip Wiring
16 × WS2812B strips (one per Kallax cube). All strips share the 5V/GND power bus. Data is a single daisy-chain through all 16.
J2 +5V ──────────────────────── ● ● ● ... ● (all 16 strip +5V pads)
J2 GND ──────────────────────── ● ● ● ... ● (all 16 strip GND pads)
J2 DATA → Strip1 Din
Strip1 Dout → Strip2 Din
Strip2 Dout → ... → Strip16 DinCube numbering (top-left = 1, bottom-right = 16, row-major):
┌────┬────┬────┬────┐
│ 1 │ 2 │ 3 │ 4 │ ← Row 1
├────┼────┼────┼────┤
│ 5 │ 6 │ 7 │ 8 │ ← Row 2
├────┼────┼────┼────┤
│ 9 │ 10 │ 11 │ 12 │ ← Row 3
├────┼────┼────┼────┤
│ 13 │ 14 │ 15 │ 16 │ ← Row 4
└────┴────┴────┴────┘WLED Configuration
| Setting | Value |
|---|---|
| LED type | WS2812B |
| Data pin | GPIO3 (D1) |
| Total LEDs | 16 × (LEDs per strip) |
| Segments | 16 (one per cube, equal length) |
| Color order | GRB |
| Voltage | 5V |
Each cube maps to one WLED segment. The vinyl-record-shelf-gopher service sends an HTTP request to activate the segment corresponding to the record's cube location. API specification: TBD.
J1 Barrel Jack Pinout
| Pin | Function | Note |
|---|---|---|
| 1 (sleeve, square pad) | GND | |
| 2 (tip) | +5V | Center positive |
| 3 (switch, side) | GND | Tied to GND on PCB |
⚠️ Center positive only. Verify polarity with a multimeter before first power-up.
J2 Terminal Block Pinout
| Pin | Signal | Wire color |
|---|---|---|
| 1 (square pad) | +5V | Red |
| 2 | GND | Black |
| 3 | DATA (5V logic) | Yellow |
Assembly
See ASSEMBLY.md for the full step-by-step guide covering PCB population, LED strip installation, wiring, and system test.
Soldering order (shortest to tallest):
- R1 (470Ω axial)
- C2, C3, C4 (100nF ceramic disc)
- C1 (100µF electrolytic — observe polarity)
- ED14DT DIP socket (not the IC)
- J1 barrel jack
- J2 terminal block
- XIAO female socket headers (1×7 × 2)
- SN74AHCT125N into socket (after power test)
- XIAO ESP32C6 module
Fabrication
Designed for OSH Park 2-layer service. Upload controller/ws2812b_controller.kicad_pcb directly.
To generate gerbers in KiCAD 7:
- Open
controller/ws2812b_controller.kicad_pcb - File → Fabrication Outputs → Gerbers
- Output to
controller/gerbers/ - Also generate drill files from the same dialog
Software
WLED firmware is flashed to the XIAO ESP32C6 before installation. The shelf-finder application lives in vinyl-record-shelf-gopher, which consumes record metadata from discogsography and issues the WLED segment calls to this controller. API specification: TBD.
License
Hardware designs released under CERN OHL-P v2.
Parts
13| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | M3 | MountingHole:MountingHole_3.2mm_M3 | MH1, MH2, MH3, MH4 |
| 3 | K104K15X7RF53H5G | Capacitor_THT:C_Disc_D3.4mm_W2.1mm_P5.00mm | C2, C3, C4 |
| 1 | LR1F470R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm | R1 |
| 1 | PWR_IN | Connector_BarrelJack:BarrelJack_CUI_PJ-102AH_Horizontal | J1 |
| 1 | SN74AHCT125N / ED14DT | Package_DIP:DIP-14_W7.62mm | U2 |
| 1 | STRIP_OUT | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_Horizontal | J2 |
| 1 | UKL1C101KPDANA | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C1 |
| 1 | XIAO-ESP32C6 | Seeed Studio XIAO Series Library:XIAO-ESP32-C6-DIP | U1 |
Questions
How big is the Ws2812b controller PCB?
It measures 68 × 50 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Ws2812b controller use?
13 parts, built around the K104K15X7RF53H5G, LR1F470R and UKL1C101KPDANA. 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 Ws2812b controller KiCad files?
From the SimplicityGuy/vinyl-record-shelf-led-controller repository on GitHub, at the commit this page was made from: the board is controller/ws2812b_controller.kicad_pcb and its schematic controller/ws2812b_controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Ws2812b controller design in my own project?
Its repository publishes it under the CERN-OHL-P-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 layers100 × 70 mm

- 2 layers40 × 20 mm

- 2 layers74.9 × 49.5 mm

- 2 layers35 × 29 mm

MagSpoofTC
samyk/magspoof
A portable device that can spoof/emulate any magnetic stripe, credit card or hotel card "wirelessly", even on standard magstripe (non-NFC/RFID) readers.
13 parts4.2k - 2 layers20.6 × 23.6 mm

AO-03 signal amplifier
fossasia/pslab-scripts
Pocket Science Lab - Scripts for Sensor Experiments
13 parts1.6kApache-2.0 - 2 layers47 × 35.6 mm

- 2 layers95 × 95 mm

Cube batteryboard
willem-pennings/balancing-cube
A cube that balances itself in a corner or edge using reaction wheels
13 parts1.1kGPL-3.0 - 2 layers15.2 × 20.3 mm

Pt100stick
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
13 parts1.1kGPL-3.0