
Canary hat
danbrunski/canary
Four 25 F cells in series for CANary-PWR's LTC3350 hold-up, on a lead (design record: docs/CANary-PWR-Spec.md §P4). The board has no active parts: four cells, an NTC, two Kelvin net ties and a Micro-Fit 2 × 5 header.

Four 25 F cells in series for CANary-PWR's LTC3350 hold-up, on a lead (design record: docs/CANary-PWR-Spec.md §P4). The board has no active parts: four cells, an NTC, two Kelvin net ties and a Micro-Fit 2 × 5 header.
Canary pwr is an open-source printed circuit board by danbrunski, from the danbrunski/canary repository on GitHub. It is a 4-layer board of 65 × 56 mm with 132 parts on 127 nets, routed with 1,397 tracks and 209 vias.
It is built around the STM32G031K8T6, TCAN1043HDQ1 and INA226AIDGSR, with the LM61460AASQRJRRQ1, LM74700QDBVTQ1 and LTC3350EUHF#PBF among its other parts. Its parts include 45 resistors, 44 capacitors, 8 ICs, 8 diodes and 8 transistors. It belongs with the STM32 boards of this library.
Four 25 F cells in series for CANary-PWR's LTC3350 hold-up, on a lead
(design record: docs/CANary-PWR-Spec.md §P4).
The board has no active parts: four cells, an NTC, two Kelvin net ties and a
Micro-Fit 2 × 5 header. It is 87 × 55.5 mm, 2 layers, 1.6 mm, 1 oz, with four
M3 holes.
State 2026-10-20: ERC clean at every severity. DRC is clean with schematic
parity and 0 unconnected, and via_in_pad.py reports 0. Both ends of the lead
match its pin map (hardware/tools/check_capbank_lead.py).
| File | What |
|---|---|
canary-capbank.kicad_{pro,sch,pcb} | The project, generated. No hand edits yet, so gen/build.sh can regenerate them |
BOM.csv | The board's parts, exported from the schematic |
BOM-offboard.csv | The lead (from hardware/tools/capbank_lead.py, shared with CANary-PWR J4) and the fixings |
lib/footprints.pretty/ | The cell laid flat, written by gen/footprints.py |
lib/3dmodels/ | STEP models of the cell and the Micro-Fit header for KiCad's 3D viewer, written by hardware/tools/gen_3dmodels.py |
gen/ | bank.py parts and nets, layout.py placement and copper, build.sh runs it all and the checks |
gen/build.sh overwrites the KiCad files. Once the board is edited in KiCad,
the board file becomes the source of truth and the generators stop being run
on it, as with CANary-PWR.
Cells: Eaton TVA1625-3R0256-R, 25 F, 3.0 V rated, run at 2.5 V. It is the only candidate that meets all three requirements:
It is long: 16.5 × 28.9 mm max. The footprint's envelope is Ø17 × 29 mm, so the alternate fits the same board: UCAP BCAP0025 P300 X11, 3.0 V, 4.1 A, not AEC-Q200. The operator confirmed every part here in stock at DigiKey, lead parts included (2026-10-20).
NTC: Vishay NTCS0603E3103FLT, 10 k 1 %, B25/85 3435 K, AEC-Q200. Murata NCU18XH103F6SRB and TDK NTCG163JF103FT1S follow the same curve within 0.3 % above 0 °C, so one GPI table in the firmware covers all three. TH1 sits on cell 1's − lead copper; Maxwell notes that a sensor on a terminal reads the cell accurately.
Connector: Molex 43045-1002, the gold version of 43045-1000 on the same footprint, on both boards (2026-10-20, when the tin -1000 went out of stock). Gold also resists fretting under vibration better than tin.
Lead: 172952-1001 housings with TPA (two 172953-1001 retainers each)
and 43030-0009 gold crimps, 20 AWG, ≤ 300 mm, wired pin n to pin n.
The plain 43025-1000 housing also fits (in stock at DigiKey, WM1787-ND), at
the cost of the TPA's second lock. Every contact must be gold, because
gold never mates tin. check_capbank_lead.py therefore checks the part
number at both ends as well as the pins.
Ready-made leads are not suitable for the cab. Molex's 214755 female-to-female assemblies use 18 AWG UL 1061 wire, a style usually rated 80 °C, and their pin mapping is unverified.
Two rows of two cells lie flat, leads facing a centre strip, with J1 at the strip's foot and its mating face off the bottom edge. The string runs C1 (bottom left) up to C2, across to C3 and down to C4 (bottom right), so both of its ends land beside J1. The vents (the cells' closed ends) face the board's left and right edges.
C2 ====] TAP2 [==== C3
TAP1 | TAP3
C1 ====] J1 [==== C4gen/layout.py's docstring has the details.+ beside it. A silk bar marks each body's − side.Discharge the bank before unplugging it. Lower vshunt on CANary-PWR
(bench button held, or I²C) until the red LED goes out. 6 F at 10 V across a
screwdriver is a welding event.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 20 | 100nF 50V X7R | Capacitor_SMD:C_0603_1608Metric | C2, C3, C4, C10, C17, C21, C23, C24, C28, C29, C32, C35, C36, C38, C41, C42 +4 |
| 9 | 100k 1% | Resistor_SMD:R_0603_1608Metric | R1, R8, R10, R12, R22, R25, R27, R41, R47 |
| 6 | 10k 1% | Resistor_SMD:R_0603_1608Metric | R34, R35, R36, R37, R39, R42 |
| 6 | Fiducial_1mm_Mask2mm | Fiducial:Fiducial_1mm_Mask2mm | FID1, FID2, FID3, FID4, FID5, FID6 |
| 5 | 1k 1% | Resistor_SMD:R_0603_1608Metric | R24, R32, R33, R38, R40 |
| 5 | 2.7R 1% 1W | Resistor_SMD:R_2512_6332Metric | R16, R17, R18, R19, R20 |
| 5 | NTTFS5C673NLTAG | Package_SON:VSON-8_3.3x3.3mm_P0.65mm_NexFET | Q2, Q3, Q4, Q5, Q7 |
| 4 | 100k 1% | Resistor_SMD:R_0402_1005Metric | R43, R44, R45, R46 |
| 4 | MountingHole_2.7mm_M2.5 | MountingHole:MountingHole_2.7mm_M2.5 | MH1, MH2, MH3, MH4 |
| 3 | 10uF 50V X7R | Capacitor_SMD:C_1210_3225Metric | C20, C26, C27 |
| 3 | 1uF 25V X5R | Capacitor_SMD:C_0603_1608Metric | C5, C8, C22 |
| 3 | 4.7uF 25V X5R | Capacitor_SMD:C_0805_2012Metric | C9, C37, C40 |
| 3 | 47uF 50V | Capacitor_SMD:CP_Elec_6.3x7.7 | C1, C18, C19 |
| 2 | 10nF 50V X7R | Capacitor_SMD:C_0603_1608Metric | C11, C13 |
| 2 | 22uF 25V X5R | Capacitor_SMD:C_1206_3216Metric | C15, C16 |
| 2 | 4.7k 1% | Resistor_SMD:R_0603_1608Metric | R30, R31 |
| 2 | 4.7uH Isat 14.4A | Inductor_SMD:L_Wuerth_XHMI-6060 | L1, L2 |
| 2 | 47uF 10V X5R | Capacitor_SMD:C_1210_3225Metric | C30, C31 |
| 2 | 8mOhm 1% 1W | Resistor_SMD:R_2512_6332Metric | R14, R15 |
| 2 | BAT46WS-AQ | Diode_SMD:D_SOD-323F | D5, D6 |
| 2 | BSS138 | Package_TO_SOT_SMD:SOT-23 | Q6, Q8 |
| 1 | 100nF 25V X7R | Capacitor_SMD:C_0603_1608Metric | C33 |
| 1 | 10k 0.1% | Resistor_SMD:R_0603_1608Metric | R13 |
| 1 | 120pF 50V C0G | Capacitor_SMD:C_0603_1608Metric | C12 |
| 1 | 121R 1% | Resistor_SMD:R_0603_1608Metric | R6 |
| 1 | 150k 1% | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | 1M 1% | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 1N4148W | Diode_SMD:D_SOD-123 | D4 |
| 1 | 1uF 50V X7R | Capacitor_SMD:C_0805_2012Metric | C39 |
| 1 | 220nF 25V X7R | Capacitor_SMD:C_0603_1608Metric | C14 |
| 1 | 22pF 50V C0G | Capacitor_SMD:C_0603_1608Metric | C25 |
| 1 | 22uF 10V X5R | Capacitor_SMD:C_1206_3216Metric | C34 |
| 1 | 24.3k 1% | Resistor_SMD:R_0603_1608Metric | R23 |
| 1 | 27k 1% | Resistor_SMD:R_0603_1608Metric | R26 |
| 1 | 2x20 stacking hdr 13.5mm (DNP) | Connector_PinSocket_2.54mm:PinSocket_2x20_P2.54mm_Vertical | J1 |
| 1 | 33.2k 1% | Resistor_SMD:R_0603_1608Metric | R21 |
| 1 | 5mOhm 1% 1W | Resistor_SMD:R_2512_6332Metric | R28 |
| 1 | 649k 1% | Resistor_SMD:R_0603_1608Metric | R9 |
| 1 | 665k 1% | Resistor_SMD:R_0603_1608Metric | R11 |
| 1 | 71.5k 1% | Resistor_SMD:R_0603_1608Metric | R5 |
| 1 | 732k 1% | Resistor_SMD:R_0603_1608Metric | R7 |
| 1 | BZT52C15 | Diode_SMD:D_SOD-123 | D1 |
| 1 | Cap bank | Connector_Molex:Molex_Micro-Fit_3.0_43045-1000_2x05_P3.00mm_Horizontal | J4 |
| 1 | EVQ-P7A01P | Button_Switch_SMD:SW_SPST_EVQP7A | SW1 |
| 1 | Green | LED_SMD:LED_Kingbright_APA1606_1.6x0.6mm_Horizontal | D7 |
| 1 | HAT out | Connector_Molex:Molex_Micro-Fit_3.0_43045-0600_2x03_P3.00mm_Horizontal | J3 |
| 1 | INA226AIDGSR | Package_SO:TSSOP-10_3x3mm_P0.5mm | U3 |
| 1 | LM61460AASQRJRRQ1 | canary-pwr:IC_LM61460AFSQRJRRQ1 | U2 |
| 1 | LM74700QDBVTQ1 | Package_TO_SOT_SMD:SOT-23-6 | U4 |
| 1 | LTC3350EUHF#PBF | canary-pwr:QFN-38_UHF_LIT | U1 |
| 1 | NUP2105LT1G | Package_TO_SOT_SMD:SOT-23 | D3 |
| 1 | PTC 0.5A 40V | canary-pwr:Fuse_1812_Bourns_MF-MSMF | F1 |
| 1 | Red | LED_SMD:LED_Kingbright_APA1606_1.6x0.6mm_Horizontal | D8 |
| 1 | SMBJ24A | Diode_SMD:D_SMB | D2 |
| 1 | STM32G031K8T6 | Package_QFP:LQFP-32_7x7mm_P0.8mm | U5 |
| 1 | SUD50P06-15 | Package_TO_SOT_SMD:TO-252-2 | Q1 |
| 1 | SWD | Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Horizontal | J5 |
| 1 | TCA9511ADGKR | canary-pwr:SOIC8_DGK_TEX | U8 |
| 1 | TCAN1043HDQ1 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U7 |
| 1 | TPS7A1633QDGNRQ1 | canary-pwr:DGN0008C_TPS7A1633AQDGNRQ1_TEX | U6 |
| 1 | Vehicle in | Connector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.81_1x04_P3.81mm_Horizontal | J2 |

danbrunski/canary
Four 25 F cells in series for CANary-PWR's LTC3350 hold-up, on a lead (design record: docs/CANary-PWR-Spec.md §P4). The board has no active parts: four cells, an NTC, two Kelvin net ties and a Micro-Fit 2 × 5 header.

danbrunski/canary
Four 25 F cells in series for CANary-PWR's LTC3350 hold-up, on a lead (design record: docs/CANary-PWR-Spec.md §P4). The board has no active parts: four cells, an NTC, two Kelvin net ties and a Micro-Fit 2 × 5 header.

danbrunski/canary
Four 25 F cells in series for CANary-PWR's LTC3350 hold-up, on a lead (design record: docs/CANary-PWR-Spec.md §P4). The board has no active parts: four cells, an NTC, two Kelvin net ties and a Micro-Fit 2 × 5 header.


AndrewCraswell/agency
Native KiCad engineering prototype, separate from the earlier ESP32/tscircuit board. Open usb-scoring-platform.kicadpro in KiCad 10; schematic and PCB are the editable source, with no generator required.

MotorDynamicsLab/Leviathan
Leviathan Main Controller for Voron 2 / Trident 3D Printers

tracelabs-pcb/can-do12
4-Layer IC-Gate-Driver for industrial application - Kicad, TPS274160, CANBUS

DD1SB/ARDF-TX
Date: 2026-10-15. Engineering review only; unbuilt and unenergized. Open RF80.kicadpro, schematic and native PCB in KiCad10.0.6. Three primary PCBs and the separate VHF true-AM design are unchanged.

xmyoot/custom-round-pcb-led-flash
Custom circular ring PCB LED flash controller prototype

magnus188/aegir
Open-source ESP32-P4 trimix analyzer prototype for technical diving,

aliaksei-lameyka/ENKU-Base-reader
Open enku-mainboard-r0.1.kicadpro with KiCad10.0.7. Matching PCB/root schematic and power.kicadsch, mcuio.kicadsch, epdhv.kicadsch, connectors.kicadsch are canonical.
It measures 65 × 56 mm and has 4 copper layers, 1.6 mm thick.
132 parts, built around the STM32G031K8T6, TCAN1043HDQ1, INA226AIDGSR and LM61460AASQRJRRQ1. 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 danbrunski/canary repository on GitHub, at the commit this page was made from: the board is hardware/canary-pwr-rev1.0/canary-pwr.kicad_pcb and its schematic hardware/canary-capbank-rev1.0/canary-capbank.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask danbrunski before reusing the design.