Controller
candykingdom·firefly2·hardware/controller/controller.kicad_pcb
About the Controller PCB
Controller is an open source STM32 PCB design by candykingdom, published on GitHub. It is a 2-layer board measuring 150 × 68 mm, with 190 components from 45 distinct parts.
Its main chip is the STM32G070CBTX, from the STM32 family. Other key parts include the WS2811, FM24CL16B, HT75XX-1-SOT89, RFM69CW-915MHZ and TP4056. By type, the board carries 64 capacitors, 56 diodes, 37 resistors, 12 switches, 10 ICs and 6 connectors.
It belongs with the rf & radio and displays & leds designs in this gallery.
From the project
Small blinkenlight boards that sync up using radios
Wireless LED control for Burning Man art installations, bikes, and wearables. Devices driving WS2812 strips self-organize over 915 MHz RFM69 radios into a flood mesh with exactly one master, share a network clock via heartbeats, and render effects as pure functions of network time — so every device animates in sync without streaming frames.
New to the project? Start with GETTING_STARTED.md. Working in the code (human or agent)? The mental model lives in docs/index.md and the shared Claude Code/Codex ground rules in CLAUDE.md.
Main components on the Controller
Controller bill of materials (BOM)
190 components, 45 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 3 | WS2811 | SOP-8_3.9x4.9mm_P1.27mm | U1, U3, U4 |
| 1 | FM24CL16B | SOIC-8_3.9x4.9mm_P1.27mm | U2 |
| 1 | HT75XX-1-SOT89 HT75xx-1-SOT89 | SOT-89-3 | U5 |
| 1 | RFM69CW-915MHZ | RFM69CW-minimalpads | U6 |
| 1 | TP4056 | SOP127P600X175-9N | U7 |
| 1 | STM32G070CBTX STM32G070CBTx | LQFP-48_7x7mm_P0.5mm | U8 |
| 1 | VEML6040 | VISHAY_VEML6040_1.25X2X1 | U9 |
| 1 | CH340X | MSOP-10_3x3mm_P0.5mm | U10 |
| 1 | C8512 MMBT2222A 1P | SOT-23 | Q1 |
| 1 | AO3400A | SOT-23 | Q2 |
| 1 | Conn_01x05 | PinHeader_1x05_P2.54mm_Vertical | J1 |
| 1 | Conn_01x03 | PinHeader_1x03_P2.54mm_Horizontal | J2 |
| 1 | Conn_01x04 | PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | C132563 USB_B_Micro | FRAMATOME_10118194-0001LF_fixed_bridges | J4 |
| 1 | Conn_01x03 | PinHeader_1x03_P2.54mm_Vertical | J5 |
| 1 | Conn_01x02 | JST_Micro_1x02_P1.25mm_Horizontal | J6 |
| 1 | CMA-4544PF-W Microphone | MIC_CMA-4544PF-W | MK1 |
| 1 | OS103011MS8QP1 | OS102011MS8QP1 | S1 |
| 9 | ILS TA180 50 ILS_TA180_50 | SW_CK_TA | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8 +1 |
| 1 | SW_Push | SW_TACTILE_5.1MM_TS-1187A-C-D-B | SW10 |
Show 25 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | C2848884 SW_SPDT | SW_SPDT_SK-12D02-G060 | SW11 |
| 1 | C269105 Thermistor_PTC | Fuse_0805_2012Metric | TH1 |
| 13 | C2990473 D_TVS | D_SOD-123F | D1, D2, D4, D26, D30, D31, D50, D51 +5 |
| 39 | WS2812C/W | LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | D5, D6, D7, D8, D9, D10, D11, D12 +31 |
| 1 | C2290 WHITE | LED_0603_1608Metric | D35 |
| 1 | C2286 RED | LED_0603_1608Metric | D39 |
| 1 | SRV05-4-P-T7 | SOT-23-6 | D46 |
| 1 | C8678 D | D_SMA | D52 |
| 1 | 10NH 10nH | L_0402_1005Metric | L1 |
| 51 | 100NF 100nF | C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C1, C3, C5, C6, C7, C10, C15, C20 +43 |
| 8 | 10UF 10uF | C_0603_1608Metric | C9, C11, C12, C13, C14, C16, C17, C18 |
| 1 | 1PF 1pF | C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C19 |
| 3 | 100UF 100uF | CP_Elec_6.3x5.4 | C21, C22, C28 |
| 1 | 10NF 10nF | C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C24 |
| 4 | 33 | R_0603_1608Metric | R1, R7, R25, R35 |
| 1 | 470K 470k | R_0603_1608Metric | R2 |
| 13 | 1k | R_0402_1005Metric | R3, R4, R5, R11, R16, R17, R18, R19 +5 |
| 4 | 100 | R_0402_1005Metric | R6, R10, R13, R21 |
| 2 | 240K 240k | R_0603_1608Metric | R8, R14 |
| 2 | 680K 680k | R_0603_1608Metric | R9, R22 |
| 2 | 4K7 4k7 | R_0402_1005Metric | R12, R15 |
| 3 | 220 | R_0402_1005Metric | R23, R38, R39 |
| 3 | 3K3 3k3 | R_0603_1608Metric | R33, R40, R41 |
| 2 | 2K2 2k2 | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R42, R44 |
| 1 | 6K8 6k8 | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R43 |
Controller design files
The KiCad project lives in the candykingdom/firefly2 repository on GitHub; these links point at the commit this page was built from.
Controller: common questions
What microcontroller does the Controller use?
The Controller is built around the STM32G070CBTX, from the STM32 family.
How big is the Controller PCB?
The Controller measures 150 × 68 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Controller?
190 components, from 45 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Controller design files?
From the candykingdom/firefly2 repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the Controller design in my own project?
The repository has no license, so all rights stay with candykingdom. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the Controller without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug STM32 firmware against it before you order a PCB.
More boards in firefly2
STM32
Rfboard
candykingdom
21 × 63 mm67 parts4LNo license5STM32
Fancy node
candykingdom
47.1 × 30.7 mm66 parts4LNo license5Ring-50mm
candykingdom
50.2 × 56.6 mm53 parts2LNo license5Ring-40mm
candykingdom
40.1 × 46.4 mm45 parts2LNo license5STM32
Firefly2
candykingdom
41.4 × 41.3 mm21 parts2LNo license5STM32
Rf remote
candykingdom
57.3 × 26.5 mm12 parts2LNo license5
Similar boards
STM32
LumenPnP Motherboard
opulo-inc
149 × 95 mm296 parts4LCC-BY-SA-4.03.7kSTM32
Type g
google
169 × 30 mm24 parts2LApache-2.02.9kSTM32
Main panel
google
234 × 84 mm26 parts4LApache-2.02.9kSTM32
Base
google
52.3 × 52.3 mm36 parts2LApache-2.02.9kSTM32
Type a
google
150 × 30 mm14 parts2LApache-2.02.9kSTM32
Type c
google
188 × 30 mm17 parts2LApache-2.02.9k