
Ss main board
loopj/short-stack
World's Smallest Nintendo Wii, using a trimmed motherboard and custom stacked PCBs

This folder contains the KiCad candle hardware artifact for the agent pipeline demo. The design target is the v5 modernized direction described in candlespecv5modernized.md: a tall, exposed LED stem inspired by the My…
Candle is an open-source printed circuit board by unit117, from the unit117/butterflynet repository on GitHub, published under the MIT licence. It is a 4-layer board of 30 × 430 mm with 272 parts on 46 nets, routed with 1,060 tracks and 361 vias.
It is built around the ATTINY1616-MN. Its parts include 256 diodes, 8 capacitors, 3 ICs, 2 resistors and 2 connectors. It belongs with the AVR (ATmega, ATtiny) boards of this library.
This folder contains the KiCad candle hardware artifact for the agent pipeline
demo. The design target is the v5 modernized direction described in
candle_spec_v5_modernized.md: a tall,
exposed LED stem inspired by the My New Flame lamp, with the battery and charge
electronics kept in a concealed base.
This is an auditable generated hardware snapshot, not a hand-polished consumer product release. It includes the KiCad source project, local footprints, generated docs, fabrication-format outputs, 3D assets, validation reports, and the automation scripts used to regenerate or inspect the board.
candle.kicad_pro in KiCad to inspect the schematic and PCB.outputs/docs/candle-schematic.pdf for the electrical architecture.outputs/docs/candle-board-front.pdf and
outputs/docs/candle-board-back.pdf for board plots.outputs/candle.glb or outputs/candle.step for the 3D board model.outputs/fabrication/candle-fabrication-bundle.zip for the exported
Gerbers, drill files, BOM, placement CSV, and netlist.outputs/candle-drc.json, outputs/candle-erc.json, and
outputs/recovery/latest-report.md for validation state and recovery history.The demo UI shows the full agent pipeline, including a validation replay where agents iterate DRC fixes down to a clean board. This directory preserves the checked-in KiCad project snapshot and its generated export artifacts for review. That snapshot is useful for inspecting the real board structure and automation outputs, but it still has known validation issues listed below.
Do not send this board directly to fabrication as a production design without resolving the current ERC/DRC items and doing an electrical engineering review. The fabrication files are included to demonstrate the exporter and the expected manufacturing artifact shape.
candle.kicad_sch: architecture schematic for the base power path plus stem
control/driver partitioncandle.kicad_pcb: generated 430 x 30 mm stem boardcandle.kicad_pro: lightweight KiCad project file written by the generatorcandle.pretty/: local footprints for the blind-socket stem pads, compact
matrix LEDs, and exposed service padstools/generate_candle.py: repeatable schematic + PCB generatortools/canonicalize_pcb.py: deterministic .kicad_pcb canonicalizer for
stable UUIDs and section orderingtools/stabilize_candle.py: optional repeated-run sampler kept for audit and
comparison worktools/export_candle.py: repeatable docs/fabrication export helpertools/candle_recovery.py: harness-driven PCB recovery wrapper that captures
DRC snapshots, diffs, and crossing hotspots per iterationtools/drc_hotspots.py: read-only DRC hotspot analyzer grouped by type, net
pair, and coarse board regionoutputs/docs/: schematic and board PDFs for quick review without opening
KiCadoutputs/fabrication/gerbers/: copper, mask, silkscreen, outline, and job
filesoutputs/fabrication/drill/: plated, non-plated, and internal-layer drill
files plus drill mapsoutputs/fabrication/candle-assembly-bom.csv: generated assembly BOMoutputs/fabrication/candle-pos.csv: generated pick-and-place positionsoutputs/fabrication/candle-assembly-notes.md: assembly notes and exclusionsoutputs/fabrication/candle-fabrication-bundle.zip: bundled manufacturing
exportoutputs/candle.glb and outputs/candle.step: 3D board assets430 x 30 mm envelope8 x 16 warm-white LEDs per face4 duplicated bottom power contacts for the concealed base socketUSB-C -> charger/power-path -> battery -> switch -> stem flow in
the schematicQuick iteration:
PYTHONPATH="/Applications/KiCad/KiCad.app/Contents/Frameworks/python/site-packages" \
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.9/bin/python3 \
tools/generate_candle.pygenerate_candle.py now canonicalizes the saved .kicad_pcb before DRC, so a
fresh run produces one stable board file. The current source also reproduced
the same board hash and the same 266-DRC result across 3/3 repeated
stability runs.
Optional repeated-run sampling:
PYTHONPATH="/Applications/KiCad/KiCad.app/Contents/Frameworks/python/site-packages" \
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.9/bin/python3 \
tools/stabilize_candle.py --runs 8python3 tools/export_candle.pyexport_candle.py now uses the deterministic single-run generator by default.
Use --stabilize-runs N only when you explicitly want sampling, or
--skip-generate to export the current board as-is. The exporter snapshots the
schematic and PCB into a temp directory before calling kicad-cli, which keeps
PDF/netlist generation stable even while the project is being regenerated.
DRC hotspot analysis:
python3 tools/drc_hotspots.py --top-groups 20The analyzer reads outputs/candle-drc.json by default and prints stable
hotspot rollups that are useful for routing recovery and cleanup passes.
Harness-driven recovery snapshot:
python3 tools/candle_recovery.py run --label working --skip-generate
python3 tools/candle_recovery.py set-baseline --label baseline --skip-generateThis writes per-run reports under outputs/recovery/ using the repo's
CLI-Anything KiCad harness for pcb drc, DRC diffing, and track-crossing
grouping.
91 violations266 violations00870a1c23718942aeb22cf7f075a202402b04271010dc7a0cb9bf8b06c47dc183The current board is a generated first-pass implementation of the modernized
stem with real matrix placement, routing structure, and exported KiCad assets.
The remaining issues are concentrated in dense driver-fanout geometry,
clearance/track-crossing cleanup, and schematic cleanliness rather than missing
project scaffolding. The latest stabilize_candle.py --runs 3 sample
reproduced the same 266 board in all three runs, which makes the snapshot
stable enough for audit and replay work even though it is not production-clean.
refs/source_documents.md: reconciled external facts and dimension sourcesrefs/provided_reference_render.png: visual composition referencespecs/candle_spec_deviations.md: intentional deviations from the active
modernized build patharchive/: archived earlier specs and the superseded proof-of-concept project| Qty | Value | Footprint | References |
|---|---|---|---|
| 256 | WW_2700K | Candle_LED_0603_Matrix | D1, D10, D11, D100, D101, D102, D103, D104, D105, D106, D107, D108, D109, D110, D111, D112 +240 |
| 3 | 100n | C_0603_1608Metric | C1, C3, C5 |
| 2 | 1u | C_0603_1608Metric | C7, C8 |
| 2 | 20k | R_0603_1608Metric | R1, R2 |
| 2 | 4.7u | C_0805_2012Metric | C2, C4 |
| 2 | IS31FL3731-QF | QFN-28-1EP_4x4mm_P0.4mm_EP2.3x2.3mm | U2, U3 |
| 1 | 10u | C_0805_2012Metric | C6 |
| 1 | ATtiny1616-M | VQFN-20-1EP_3x3mm_P0.4mm_EP1.7x1.7mm | U1 |
| 1 | PCB_BUTTON | SW_Push_1P1T_NO_CK_KMR2 | SW1 |
| 1 | STEM_SOCKET | Candle_StemSocket_4Pad | J1 |
| 1 | UPDI_PADS | Candle_ServicePads_1x3 | J2 |
It measures 30 × 430 mm and has 4 copper layers, 3 mm thick.
272 parts, built around the ATTINY1616-MN. 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.
From the unit117/butterflynet repository on GitHub, at the commit this page was made from: the board is hardware/candle/candle.kicad_pcb and its schematic hardware/candle/.history/candle.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

loopj/short-stack
World's Smallest Nintendo Wii, using a trimmed motherboard and custom stacked PCBs



kieraneglin/hexagon-art
A passive breakout board: two lever-terminal inputs, three JST XH outputs, all six conductors (RX bus, two spares, +12V, GND, +5V) paralleled straight across. No active components, no regulation, nothing to configure.

engineerbo/flashlight-dev-hw
This repository contains design files for the development board for a flashlight boost driver. The test firmware can be found in the firmware repository.

hojadurdy/Flux_Capacitor_Micro
A tiny (36mm x 29mm) pin badge and keychain PCB version of Flux Capacitor featuring 25 animated LEDs that animate to create the “fluxxing” effect.

