Skip to the content
2 layers39.1 × 68.9 mmBaseChipOnly, the printed circuit board in 3D

Smart LED plant pot — ESP32 PCB, WS2812B/SK6812 LEDs, WLED firmware, modular 3D-printed vase, and a native iOS app with Apple's Liquid Glass design.

Size
39.1 × 68.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
34
Nets
50
Pads
145
Tracks, vias
169, 39
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
4 Jun 2026
Updated
26 Oct 2026

Overview

BaseChipOnly is an open-source printed circuit board by ZonatedCord, from the ZonatedCord/Yggdrasill repository on GitHub. It is a 2-layer board of 39.1 × 68.9 mm with 34 parts on 50 nets, routed with 169 tracks and 39 vias.

It is built around the ESP32-WROOM-32U, LM2596S-ADJ and USBLC6-2SC6, with the MMBT3904, SMAJ5.0A and SS34 among its other parts. Its parts include 6 resistors, 4 capacitors, 3 ICs, 3 connectors and 2 diodes. It belongs with the home automation and IoT boards and the ESP32 and RISC-V boards of this library.

Main components

6

README

PCB/BaseChipOnly_rev2/README.md

BaseChipOnly — HW Rev 2.0

Base board of the Yggdrasill lamp: ESP32-WROOM-32U running WLED, 5 V input, drives the 9 leaf boards (../Foglia, 15 WS2812B each, wired in parallel). This is the second revision of ../BaseChipOnly (rev 1.03, the board that was actually fabricated and brought up).

How the board works, power budget and WLED settings: docs/base-chiponly-pcb.md.

⚠️ Limitation: verified on paper, not on a real board

Rev 2.0 has not been fabricated or assembled yet. Everything below was checked with design-rule tools, file cross-checks and circuit simulation — nothing has been measured on hardware. Simulations use component models (TI's LM2596 model, generic MMBT3904/SS34/LED models) and assumptions (cable resistance, wire length to the leaves, capacitor derating) that may differ from reality. The firmware/boot of the ESP32 cannot be simulated: "it boots" means EN and IO0 reach the right levels at the right time.

Before trusting it, build one board and follow the first power-up procedure in docs/base-chiponly-pcb.md, then test the auto-reset with esptool.py flash_id.

Status

Schematiccomplete, ERC 0 errors
PCBcomplete, DRC 0 errors, schematic ↔ PCB parity clean
Fab filesEsportazione-2026-09-30/ (Gerbers, drill, BOM with MPNs, pick-and-place, assembly PDF with values, schematic PDF, 3D preview)
Fabricatedno
Tested on hardwareno

Tests performed (all theoretical)

TestToolResult
Electrical rules checkKiCad ERC0 errors
Design rules check + schematic parityKiCad DRC --schematic-parity0 errors, 0 unconnected, 0 parity issues (12 known items: 0.2 mm thermal-via drills of the ESP32 footprint, same as rev 1.03)
Copper vs schematicGerber X2 pad attributes of the exported front copper120 / 120 pads on the right net
Pinout of every active part vs datasheetnetlist + datasheets0 mismatches (LM2596S-ADJ, USBLC6-2SC6, MMBT3904, diodes, polarised caps, connectors, ESP32)
ESP32 strapping pinsnetlist reviewIO0 pull-up + BOOT; IO2/IO12 floating (download mode OK, 3.3 V flash); IO5/IO15 internal pull-ups
Trace current capacityIPC-2221, 1 oz outer layer, +10 °Call power traces above their current (e.g. +5V bus 3 mm → 5.3 A for ~3.3 A)
Fab limitsJLCPCB rulestracks ≥ 0.2 mm, vias 0.6/0.3, copper ≥ 1 mm from edge, silkscreen ≥ 0.8 mm / 0.15 mm
Mechanical / visualKiCad 3D renderpolarity marks, orientation, ≥ ~1 mm between parts in the regulator block, ≥ 1.1 mm from the ESP32
Auto-reset (both esptool sequences)ngspiceenters download mode; serial monitor does not reset the board
Power-on EN timingngspiceEN rises 13.7 ms after 3.3 V (spec ≥ 50 µs)
3.3 V regulator: nominal, LEDs at 3 A, minimum input, start-upngspice + Texas Instruments LM2596 model (SNVMA65, credited in LICENSE-NOTICES.md)3.28 V, ≥ 3.21 V worst case; needs ≥ ~4.5 V at its input
Status LED currentngspice4.6–6.7 mA
LED data line to 9 parallel leavesngspiceclean ~370/770 ns pulses with R5 = 100 Ω

Re-run the checks with ./verifica.sh (ERC + DRC/parity + fab export + Gerber cross-check). Simulations: simulazioni/README.md (run simulazioni/models/get_lm2596_model.sh once to fetch the TI model).

Changes from rev 1.03

Bugs fixed (all seen during the rev 1.03 bring-up)

Rev 1.03Rev 2.0
D2 (SS34 catch diode) reversed — shorts the regulator switch nodecorrect polarity, silkscreen matches
D1 (status LED) reversedcorrect polarity; GND via moved out of the pad (likely cause of the dark LED)
Auto-reset wired wrong: both emitters to GND — idle adapter held the ESP32 in reset, esptool could never enter download modestandard cross-coupled DTR/RTS circuit, like ESP32 DevKit boards
No BOOT / RESET buttonsSW1 BOOT, SW2 RESET (C&K PTS810), centred on the top edge
L1 1008 inductor, no value — burned outBourns SRN6045TA-101M, 100 µH, Isat 1.33 A
Polyfuse 12 A in 0603 — protects nothingBourns MF-LSMF400/12X, 4 A hold, 2920
U3 (USBLC6) GND pin unconnected — no ESD protectionGND connected, VBUS to +5V (ST reference circuit)
TVS: bidirectional symbol, SMF5.0A part on an SMA footprintSMAJ5.0A, unidirectional, matches the footprint
Reference and Value swapped on the PCB, footprints not linked to the schematicfixed: correct BOM / pick-and-place, Update-PCB-from-Schematic works
12 ESP32 thermal vias with no nettied to GND
Silkscreen typo "GDN""GND"

Improvements

  • COUT2 220 µF tantalum (Kyocera AVX TPSC227M006R0100) next to the 47 µF MLCC, for LM2596 loop stability.
  • C4 100 nF → 1 µF (EN delay, Espressif guideline) — from the simulations.
  • R5 470 Ω → 100 Ω (clean data pulses to the 9 parallel leaves) — from the simulations.
  • Auto-reset transistors specified as MMBT3904 (no part number before).
  • +3V3 traces 0.2 → 0.5–1.0 mm; SW node 1.2–1.5 mm.
  • New layout: functional blocks, regulator with a short switching loop and room for hand soldering, solid GND plane on the back, no via-in-pad on GND, silkscreen to fab minimums, HW Rev 2.0 printed on the board.

Unchanged on purpose: board outline and mounting holes (the printed base and TasselloFissaggioPCB.stl still fit), J1 barrel jack, J2 terminal, J3 programming header (external USB-UART adapter, no USB-C), ESP32 position, C1, LED data on GPIO13.

Known limits

  • The LM2596 needs ≥ ~4.5 V at its input at 500 mA: use a good 5 V 4 A PSU with a short, thick cable and keep the WLED current limiter at 3000 mA.
  • The USB-UART adapter must break out DTR and RTS at 3.3 V for the auto-reset; otherwise use BOOT/RESET.
  • Button reachability inside the printed base not checked.

Folder contents

PathWhat
BaseChipOnly.kicad_pro/.kicad_sch/.kicad_pcbKiCad 9 project
Esportazione-2026-09-30/fabrication files for rev 2.0
verifica.shall automatic checks in one go
simulazioni/ngspice decks, plots, results
FIX_LOG.mdsession-by-session log of every change (Italian)
BaseChipOnly-backups/fixpcb_2026-09-30.py, relayout-work/relayout.py, build.shscripts that generated the PCB (record of every edit; their input boards live in the local, git-ignored BaseChipOnly-backups/)
FileImpronte/ESP32-WROOM-32U symbol / footprint / 3D model

Parts

34
QtyValueFootprintReferences
410kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2, R3, R4
4MountingHole_2.1mmMountingHole:MountingHole_2.1mmH1, H2, H3, H4
2100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2, C3
2MMBT3904Package_TO_SOT_SMD:SOT-23EN_CTRL1, IO0_CTRL1
11.2kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderRbot1
11000µFCapacitor_THT:CP_Radial_D10.0mm_P5.00mmC1
1100µHInductor_SMD:L_Bourns_SRN6045TAL1
1100ΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR5
11µFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC4
12.0kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderRtop1
1220µF 6.3VCapacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C_HandSolderCOUT2
122µFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderCIN1
1470ΩResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR0
147µFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderCOUT1
14AFuse:Fuse_2920_7451Metric_Pad2.10x5.45mm_HandSolderPolyfuse1
1BOOTButton_Switch_SMD:SW_SPST_PTS810SW1
1Barrel_Jack_ConnectorUSBC:BarrelJackJ1
1ESP32-WROOM-32UUSBC:XCVR_ESP32-WROOM-32UU1
1ESP32_PROG_1x6Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ3
1LEDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD1
1LM2596S-ADJPackage_TO_SOT_SMD:TO-263-5_TabPin3U4
1MorsettoUSBC:Morsetto_3_VieJ2
1RESETButton_Switch_SMD:SW_SPST_PTS810SW2
1SMAJ5.0ADiode_SMD:D_SMAD_TVS1
1SS34Diode_SMD:D_SMAD2
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6_HandsolderingU3

More from ZonatedCord/Yggdrasill

3
  • 2 layers39.1 × 68.9 mmBaseChipOnly, the printed circuit board in 3D

    BaseChipOnly

    ZonatedCord/Yggdrasill

    Smart LED plant pot — ESP32 PCB, WS2812B/SK6812 LEDs, WLED firmware, modular 3D-printed vase, and a native iOS app with Apple's Liquid Glass design.

    31 parts1
  • 2 layers9.2 × 108.6 mmFoglia Led, the printed circuit board in 3D

    Foglia Led

    ZonatedCord/Yggdrasill

    Smart LED plant pot — ESP32 PCB, WS2812B/SK6812 LEDs, WLED firmware, modular 3D-printed vase, and a native iOS app with Apple's Liquid Glass design.

    31 parts1
  • 2 layers50 × 73.6 mmESP32 LED v2, the printed circuit board in 3D

    ESP32 LED v2

    ZonatedCord/Yggdrasill

    Smart LED plant pot — ESP32 PCB, WS2812B/SK6812 LEDs, WLED firmware, modular 3D-printed vase, and a native iOS app with Apple's Liquid Glass design.

    15 parts1

Similar boards

  • 2 layers100 × 100 mmHour meter board microfit can handroute, the printed circuit board in 3D

    Hour meter board microfit can handroute

    ilomon10/embedded-totalizer-hour-meter

    ESP32 engine hour meter & totalizer: firmware, SensorFrame protocol, Node host tools, KiCad PCB and a Deno device simulator

    152 parts
  • 4 layers60.5 × 100.5 mmVCU, the printed circuit board in 3D

    VCU

    matatma23-gento/embedded-portfolio

    This repository collects KiCad hardware design projects. Project specifications, validation results, and individual contributions are being documented; the presence of design files does not imply production readiness or…

    166 parts
  • 2 layers82 × 99 mmZudo pd, the printed circuit board in 3D

    Zudo pd

    Takazudo/zudo-pd

    P15 r1 is the common 27 × 40 mm STUSB4500 15 V / 3 A module for LED first, then PD15. The same PCB, population and NVM image serve both. Source: board-p15-draft.kicadpcb and ../../scripts/schgen/boardp15spec.py.

    94 parts1
  • 4 layers94 × 81.8 mmESP32 IO Controller, the printed circuit board in 3D

    ESP32 IO Controller

    Satya777777/ESP32-Industrial-IO-Controller

    4-layer ESP32-based industrial I/O controller designed in KiCad with 0–10 V, 4–20 mA, RS485, USB-C and relay interfaces.

    58 partsMIT
  • 2 layers76 × 61 mmGemilaimate compact, the printed circuit board in 3D

    Gemilaimate compact

    rico-x/GemilaiMate

    Gemilai 3007Z DIY carrier and standalone firmware. Prototype: hardware not assembled or tested.

    110 parts2
  • 4 layers122 × 76 mmESP iRadio, the printed circuit board in 3D

    ESP iRadio

    hghaken/ESP-iRadio

    ESP32 internet radio with Bluetooth A2DP output (headphones/speaker), 1.69" display and web control

    122 partsGPL-3.0
  • 4 layers144 × 127 mmFrothfet, the printed circuit board in 3D

    Frothfet

    hoeken/frothfet

    Yarrboard load controller board with current sense, volt sense, fuses, and sender support.

    394 parts14GPL-3.0
  • 2 layers40 × 24 mmUsbc ldo, the printed circuit board in 3D

    Usbc ldo

    YORROY123/kicad-scripted-pcb

    Three KiCad 10 PCBs designed entirely as Python code with layered verification

    16 parts1MIT

Questions

How big is the BaseChipOnly PCB?

It measures 39.1 × 68.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the BaseChipOnly use?

34 parts, built around the ESP32-WROOM-32U, LM2596S-ADJ, USBLC6-2SC6 and MMBT3904. 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 BaseChipOnly KiCad files?

From the ZonatedCord/Yggdrasill repository on GitHub, at the commit this page was made from: the board is PCB/BaseChipOnly_rev2/BaseChipOnly.kicad_pcb and its schematic PCB/BaseChipOnly/BaseChipOnly.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the BaseChipOnly design in my own project?

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