Skip to the content
PCBKitNew board
2 layers40 × 18 mmFirestring, the printed circuit board in 3D

FireString - RP2040-based NeoPixel fire simulation controller

Size
40 × 18 mm
Copper layers
2
Thickness
1.6 mm
Parts
38
Nets
60
Pads
179
Tracks, vias
318, 80
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
29 Mar 2026
Updated
29 Mar 2026

Overview

Firestring is an open-source printed circuit board by thip, from the thip/firestring repository on GitHub. It is a 2-layer board of 40 × 18 mm with 38 parts on 60 nets, routed with 318 tracks and 80 vias.

It is built around the RP2040, W25Q16JVUXIQ and AP2112K-3.3, with the USBLC6-2P6 among its other parts. Its parts include 20 capacitors, 9 resistors, 4 ICs, 3 connectors and 1 switch. It belongs with the lEDs and displays boards and the RP2040 boards of this library.

Main components

4

README

README.md

FireString

An RP2040-based LED fire simulation controller that drives WS2812B NeoPixel strings to recreate the look of a glowing fireplace.

Full writeup: davidcapper.dev/posts/fire-string

Finished units available at hortus.dev/products/fire-string.

How it works

The simulation is built on three physical concepts:

  • Black-body radiation — pixel temperatures are mapped to a colour gradient from red (cool) through orange/yellow to white (hot).
  • Heat decay — each pixel loses a proportion of its heat every frame, fading from bright to dark over time.
  • Thermal diffusion — pixels transfer heat to neighbours proportionally to temperature difference, so heat spreads naturally through the string.

On top of this, a fuel system adds gradual brightness ramps (fuel converts to heat via a burn rate), and temperature-dependent curves make cool pixels decay slowly and reignite easily while hot pixels shed heat rapidly — mimicking real ember behaviour.

Firmware

CircuitPython running on the RP2040 with @micropython.viper compilation and integer-only maths for performance. Includes a web-based configurator (Web Serial API) for real-time parameter tuning and preset management.

Hardware

Custom 2-layer RP2040 PCB with USB-C, designed in KiCad. Schematic and board layout are in hardware/.

Licence

Parts

38
QtyValueFootprintReferences
11100nCapacitor_SMD:C_0402_1005MetricC4, C5, C6, C9, C11, C12, C13, C14, C15, C18, C19
310uCapacitor_SMD:C_0402_1005MetricC2, C3, C10
210kResistor_SMD:R_0402_1005MetricR4, R8
21uCapacitor_SMD:C_0402_1005MetricC7, C8
227.4Resistor_SMD:R_0402_1005MetricR6, R7
227pCapacitor_SMD:C_0402_1005MetricC16, C17
25.1kResistor_SMD:R_0402_1005MetricR2, R3
1100Resistor_SMD:R_0402_1005MetricR9
1100uCapacitor_SMD:C_1206_3216MetricC20
112MHzCrystal:Crystal_SMD_Abracon_ABM8G-4Pin_3.2x2.5mmY1
11KResistor_SMD:R_0402_1005MetricR5
11MResistor_SMD:R_0402_1005MetricR1
14.7nCapacitor_SMD:C_0402_1005MetricC1
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U1
1Conn_01x03_PinConnector_JST:JST_XH_S3B-XH-A_1x03_P2.50mm_HorizontalJ2
1RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU4
1TC2030-NLConnector:Tag-Connect_TC2030-IDC-NL_2x03_P1.27mm_VerticalJ3
1USBLC6-2P6Package_TO_SOT_SMD:SOT-666U2
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASVJ1
1W25Q16JVUXIQeasyeda2kicad:USON-8_L3.0-W2.0-P0.50-BL-EPU3
1~easyeda2kicad:SW-SMD_L3.9-W3.0-P4.45SW1

Questions

How big is the Firestring PCB?

It measures 40 × 18 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Firestring use?

38 parts, built around the RP2040, W25Q16JVUXIQ, AP2112K-3.3 and USBLC6-2P6. 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 Firestring KiCad files?

From the thip/firestring repository on GitHub, at the commit this page was made from: the board is hardware/FireString.kicad_pcb and its schematic hardware/FireString.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Firestring design in my own project?

Its repository states no licence, so its author keeps all rights: ask thip before reusing the design.

Similar boards

  • 2 layers130 × 51 mmOSUMGP RP2040, the printed circuit board in 3D

    OSUMGP RP2040

    NickGuyver/OSUMGP-RP2040

    KiCanvas link so you don't have to download to just review the files is here

    92 parts18CC-BY-4.0
  • 2 layers172 × 152.9 mmTrackpad, the printed circuit board in 3D

    Trackpad

    george-norton/peacock

    A big QMK powered trackpad

    102 parts309CERN-OHL-S-2.0
  • 2 layers303.3 × 119 mmSango, the printed circuit board in 3D

    Sango

    Aidan-OS/Sango

    A 65%ish percent ortholinear split keyboard

    325 partsApache-2.0
  • 2 layers41.4 × 41.9 mmEarring, the printed circuit board in 3D

    Earring

    sequoia-hope/ultraroute

    PCB autorouting experiments around copperroute: route jobs, leaderboards, board morphing

    105 parts1MIT
  • 2 layers248.9 × 120.7 mm16nx, the printed circuit board in 3D

    16nx

    16n-faderbank/16nx

    16nx is a controller for musical instruments. Sixteen faders,MIDI over USB and jack, CV out, and I2C out. Based around RP2040.

    171 parts76
  • 2 layers39.4 × 20.3 mmRp2040-pmod, the printed circuit board in 3D

    Rp2040-pmod

    mwelling/rp2040-pmod

    RP2040 MCU based PMOD

    46 parts21MIT
  • 2 layers34 × 107.5 mmEnvOpenMouse, the printed circuit board in 3D

    EnvOpenMouse

    Envious-Data/EnvOpenMouse

    An Open-source mouse for the UK market.

    74 parts6MIT
  • 4 layers44.5 × 40.6 mmMoonPad, the printed circuit board in 3D

    MoonPad

    RephlexZero/MoonPad

    Hall-effect keypad designed in KiCad, with case files

    60 parts3