Skip to the content
PCBKitNew board
2 layers68 × 50 mmWs2812b controller, the printed circuit board in 3D

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

3

README

README.md

WS2812B 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.

PCB Rev 10

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.

mermaid
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 -.-> C16

PCB Specifications

ParameterValue
Dimensions68 × 50 mm
Layers2 (F.Cu, B.Cu)
Min trace width0.25 mm (signal) / 1.0 mm (power)
PCB thickness1.6 mm
Surface finishENIG (OSH Park)
AssemblyAll through-hole, hand solderable
Mounting4 × M3 corner holes, 10 mm standoffs
ConnectorsTop edge: USB-C (XIAO), DC barrel jack, LED terminal block

Schematic

The signal path:

mermaid
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 --> E

Power:

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

RefPartDescriptionQty
U1XIAO-ESP32-C6Seeed XIAO ESP32C6 module1
U2SN74AHCT125N74AHCT125 level shifter, DIP-141
—ED14DTOn Shore DIP-14 socket1
C1UKL1C101KPDANANichicon 100µF/16V electrolytic, P3.5mm1
C2, C3, C4K104K15X7RF53H5GVishay KG 100nF X7R, 50V, P5.0mm3
R1LR1F470RTE 470Ω ¼W axial, P7.62mm1
J1PJ-102AHCUI DC barrel jack 2.1mm right-angle1
J20397000803Molex 3-pos Eurostyle terminal block 5.00mm1
MH1–4—M3 × 6mm screws + 10mm brass standoffs4

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.

text
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 Din

Cube numbering (top-left = 1, bottom-right = 16, row-major):

text
┌────┬────┬────┬────┐
│  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

SettingValue
LED typeWS2812B
Data pinGPIO3 (D1)
Total LEDs16 × (LEDs per strip)
Segments16 (one per cube, equal length)
Color orderGRB
Voltage5V

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

PinFunctionNote
1 (sleeve, square pad)GND
2 (tip)+5VCenter positive
3 (switch, side)GNDTied to GND on PCB

⚠️ Center positive only. Verify polarity with a multimeter before first power-up.

J2 Terminal Block Pinout

PinSignalWire color
1 (square pad)+5VRed
2GNDBlack
3DATA (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):

  1. R1 (470Ω axial)
  2. C2, C3, C4 (100nF ceramic disc)
  3. C1 (100µF electrolytic — observe polarity)
  4. ED14DT DIP socket (not the IC)
  5. J1 barrel jack
  6. J2 terminal block
  7. XIAO female socket headers (1×7 × 2)
  8. SN74AHCT125N into socket (after power test)
  9. XIAO ESP32C6 module

Fabrication

Designed for OSH Park 2-layer service. Upload controller/ws2812b_controller.kicad_pcb directly.

To generate gerbers in KiCAD 7:

  1. Open controller/ws2812b_controller.kicad_pcb
  2. File → Fabrication Outputs → Gerbers
  3. Output to controller/gerbers/
  4. 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
QtyValueFootprintReferences
4M3MountingHole:MountingHole_3.2mm_M3MH1, MH2, MH3, MH4
3K104K15X7RF53H5GCapacitor_THT:C_Disc_D3.4mm_W2.1mm_P5.00mmC2, C3, C4
1LR1F470RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mmR1
1PWR_INConnector_BarrelJack:BarrelJack_CUI_PJ-102AH_HorizontalJ1
1SN74AHCT125N / ED14DTPackage_DIP:DIP-14_W7.62mmU2
1STRIP_OUTTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_HorizontalJ2
1UKL1C101KPDANACapacitor_THT:CP_Radial_D8.0mm_P3.50mmC1
1XIAO-ESP32C6Seeed Studio XIAO Series Library:XIAO-ESP32-C6-DIPU1

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 mmClassA, the printed circuit board in 3D

    ClassA

    smileym4n-collab/Kicadprojects

    67 parts
  • 2 layers40 × 20 mmUsb uart, the printed circuit board in 3D

    Usb uart

    earthtojake/text-to-cad

    Design physical products with AI

    13 parts26kMIT
  • 2 layers35 × 29 mmMagSpoofTC, the printed circuit board in 3D

    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 mmAO-03 signal amplifier, the printed circuit board in 3D

    AO-03 signal amplifier

    fossasia/pslab-scripts

    Pocket Science Lab - Scripts for Sensor Experiments

    13 parts1.6kApache-2.0
  • 2 layers47 × 35.6 mmMX7-C-35PL C11, the printed circuit board in 3D

    MX7-C-35PL C11

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    13 parts1.2k
  • 2 layers95 × 95 mmCube batteryboard, the printed circuit board in 3D

    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 mmPt100stick, the printed circuit board in 3D

    Pt100stick

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    13 parts1.1kGPL-3.0