
Orangecrab
OpenConverters/Faraday
The living record of ABT #422 (closed 2026-08-01; this file is its successor — update it as boards land). The program: grow the open-source converter corpus, track (a) the derive success rate of the critical-mesh…

The living record of ABT #422 (closed 2026-08-01; this file is its successor — update it as boards land). The program: grow the open-source converter corpus, track (a) the derive success rate of the critical-mesh…
Bms c1 is an open-source printed circuit board by OpenConverters, from the OpenConverters/Faraday repository on GitHub, published under the MIT licence. It is a 4-layer board of 135 × 70 mm with 210 parts on 142 nets, routed with 1,097 tracks and 805 vias.
It is built around the ESP32-C3-MINI-1, SN65HVD230D and SN65HVD75D, with the IPT012N08N5, BAT46W and B4B-PH-SM4-TB among its other parts. Its parts include 66 resistors, 47 capacitors, 23 diodes, 12 transistors and 11 connectors. It belongs with the power boards and the ESP32 and RISC-V boards of this library.
The living record of ABT #422 (closed 2026-08-01; this file is its successor —
update it as boards land). The program: grow the open-source converter corpus,
track (a) the derive success rate of the critical-mesh analysis, (b)
human-reviewed member-set agreement, (c) fallback correctness — and pin every
reviewed board as a Catch2 regression (test_real_boards.cpp,
[corpus-pin], SKIP when the corpus is not fetched). Characterization-test
discipline throughout: pins are verified against physical sense and never
silently re-pinned.
Every converter board in the program derives. 14 derived meshes across 8 physical boards, zero known wrong-member cases:
| Board | Node(s) | Derived mesh | Notes |
|---|---|---|---|
| PoE flyback (Altium ODB++) | NetD17_3 | T7 + D22 + R29 | RCD clamp — includes the D22 a hand-run prototype missed |
| NetC52_2 | T4 + D21 + R16 | ||
| LM5143-Q1EVM (TI gerbers) | ×2 | exact per SNVA-documented hot loops | two-phase buck |
| LM5177EVM (via KiCad 9) | buck + boost | both match SLVAFJ3 | |
| LM5123EVM (via KiCad 9) | boost | closes through the OUTPUT cap | Franz's own example of what pattern-matching gets wrong |
| mppt-2420-lc | SW_NODE | Q1 + Q4 + C4 (71 mm², 25 nH) | pinned |
| mppt-1210-hus | SW_NODE | Q1 + Q4 + C4 (64 mm², 26 nH) | pinned; LOAD_S pinned to keep REFUSING a divider-as-clamp |
| mppt-2420-hc | SW_NODE | Q1 + Q2 + C3 (buck) | TO-220 equal pads → conduction case d (pin 1 = JEDEC control terminal, 2 mm² pad floor) |
| VESC (KiCad + ODB++) | H1/H2/H3 | Q1+Q2+R53+C40 · Q3+Q4+C8 · Q5+Q6+R54+C37 | Kelvin shunts NAMED as mesh members; both formats agree byte-for-byte |
Plus 4 synthetic topology pins in Catch2: buck, boost-with-decoy, flyback-RCD, Kelvin-shunt bridge — and the determinism pin (pad order + exporter rounding invariance).
Correct negatives: pwm-2420-lus (PWM controller, SOLAR- only), moteus / FPGA / interface boards, hackrf (pinned: 0 switch nodes, exactly 2 candidates — its dual-LDO + ferrite harness is externally isomorphic to a fixed buck; see the main README).
Wrong-member cases found and fixed during the program (each caught by the regression pins this ledger mandated — which is the whole argument for them):
scripts/fetch_corpus.py).Altium native .PcbDoc stays refused by design (binary OLE). Altium boards
are covered by three validated routes: ODB++ export, Gerber_NCdrills_IPC
fab output, and the .PcbDoc → KiCad 9 importer.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 17 | 20 | LibreSolar:R_2010_5025 | R1, R2, R3, R4, R5, R6, R7, R8, R10, R11, R12, R13, R14, R15, R16, R17 +1 |
| 17 | 220nF | LibreSolar:C_0603_1608 | C1, C2, C3, C4, C5, C6, C7, C8, C10, C11, C12, C13, C14, C15, C16, C26 +1 |
| 17 | TestPoint | TestPoint:TestPoint_Pad_1.0x1.0mm | TP16, TP17, TP18, TP19, TP20, TP21, TP22, TP23, TP24, TP25, TP26, TP27, TP28, TP29, TP30, TP31 +1 |
| 14 | 100nF | LibreSolar:C_0603_1608 | C19, C21, C24, C28, C31, C34, C36, C37, C40, C48, C49, C50, C51, C52 |
| 14 | TestPoint | TestPoint:TestPoint_Pad_D1.5mm | TP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8, TP9, TP10, TP12, TP13, TP14, TP15 |
| 9 | 47 | LibreSolar:R_0603_1608 | R40, R41, R42, R43, R47, R48, R49, R50, R57 |
| 8 | IPT012N08N5 | Package_TO_SOT_SMD:Infineon_PG-HSOF-8-1_ThermalVias | Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9 |
| 6 | 100pF | LibreSolar:C_0603_1608 | C27, C29, C32, C33, C35, C38 |
| 6 | 10k | LibreSolar:R_0603_1608 | R29, R30, R60, R68, RT1, RT2 |
| 6 | BAT46W | LibreSolar:D_SOD-123 | D2, D5, D10, D15, D16, D20 |
| 6 | MountingHole | MountingHole:MountingHole_3.2mm_M3_Pad_TopBottom | H1, H2, H3, H4, H5, H6 |
| 4 | 100 | LibreSolar:R_0603_1608 | R19, R20, R38, R44 |
| 4 | 16V | LibreSolar:D_SOD-123 | D14, D17, D21, D24 |
| 4 | 5.1k | LibreSolar:R_0603_1608 | R27, R35, R53, R54 |
| 4 | CONN_01X01 | LibreSolar:Wuerth_PowerOne_SMD_LF990005 | P1, P2, P3, P4 |
| 3 | 10M | LibreSolar:R_0603_1608 | R39, R52, R59 |
| 3 | 1M | LibreSolar:R_0603_1608 | R24, R26, R62 |
| 3 | 1k | LibreSolar:R_0603_1608 | R22, R23, R46 |
| 2 | 0R | LibreSolar:R_0603_1608 | R21, R37 |
| 2 | 1µF | LibreSolar:C_0603_1608 | C30, C47 |
| 2 | 2.2k | LibreSolar:R_0603_1608 | R32, R33 |
| 2 | 2.2µF | LibreSolar:C_1206_3216 | C22, C23 |
| 2 | 47µF | LibreSolar:C_1206_3216 | C17, C18 |
| 2 | 62R | LibreSolar:R_0603_1608 | R56, R64 |
| 2 | 68k | LibreSolar:R_0603_1608 | R51, R61 |
| 2 | 82k | LibreSolar:R_0603_1608 | R28, R65 |
| 2 | B4B-PH-SM4 | Connector_JST:JST_PH_B4B-PH-SM4-TB_1x04-1MP_P2.00mm_Vertical | J2, J6 |
| 2 | ESD5B5.0ST1G | LibreSolar:D_SOD-523 | D3, D4 |
| 2 | Fiducial | Fiducial:Fiducial_1mm_Mask2mm | FID1, FID2 |
| 2 | PMEG10010ELRX | LibreSolar:D_SOD-123F | D1, D13 |
| 2 | SW_PUSH | Button_Switch_SMD:SW_SPST_TL3305A | S1, S2 |
| 1 | 10 | LibreSolar:R_1206_3216 | R25 |
| 1 | 100 | LibreSolar:R_1206_3216 | R18 |
| 1 | 10µF | LibreSolar:C_0805_2012 | C46 |
| 1 | 1µF | LibreSolar:C_1206_3216 | C25 |
| 1 | 2.2µF | LibreSolar:C_0603_1608 | C20 |
| 1 | 22µH | LibreSolar:Bourns_SRN8040TA | L2 |
| 1 | 3.6V | LibreSolar:D_SOD-123 | D11 |
| 1 | 300µ | LibreSolar:R_Shunt_5931_Kelvin | R45 |
| 1 | 35.7k | LibreSolar:R_0603_1608 | R31 |
| 1 | 40 | LibreSolar:Bourns_PWR163 | R63 |
| 1 | 470 | LibreSolar:R_0603_1608 | R58 |
| 1 | 47uF | Capacitor_SMD:CP_Elec_10x10 | C39 |
| 1 | 5.1V | LibreSolar:D_SOD-323 | D19 |
| 1 | 52.3k | LibreSolar:R_0603_1608 | R34 |
| 1 | 75V | LibreSolar:D_SOD-123 | D23 |
| 1 | B2B-PH-SM4 | Connector_JST:JST_PH_B2B-PH-SM4-TB_1x02-1MP_P2.00mm_Vertical | J5 |
| 1 | B3B-PH-SM4 | Connector_JST:JST_PH_B3B-PH-SM4-TB_1x03-1MP_P2.00mm_Vertical | J4 |
| 1 | BQ76952 | Package_QFP:TQFP-48_7x7mm_P0.5mm | U4 |
| 1 | BSS123N | LibreSolar:SOT-23 | Q11 |
| 1 | BSS84 | LibreSolar:SOT-23 | Q10 |
| 1 | CONN_01X01 | Connector_Wire:SolderWirePad_1x01_SMD_5x10mm | P5 |
| 1 | DMN10H220LE | Package_TO_SOT_SMD:SOT-223 | Q1 |
| 1 | ESP32-C3-MINI-1 | Espressif:ESP32-C3-MINI-1 | U5 |
| 1 | LED green | LED_SMD:LED_0603_1608Metric | LED2 |
| 1 | LED red | LED_SMD:LED_0603_1608Metric | LED1 |
| 1 | LIBRE_SOLAR | LibreSolar:LIBRESOLAR_LOGO | LOGO2 |
| 1 | LMR38010 | LibreSolar:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.4x3.1mm_ThermalVias | U3 |
| 1 | MURS360 | LibreSolar:D_SMC | D22 |
| 1 | MicroFit 2x12 | Connector_Molex:Molex_Micro-Fit_3.0_43045-2410_2x12-1MP_P3.00mm_Horizontal | J1 |
| 1 | NetTie | NetTie:NetTie-2_SMD_Pad0.5mm | NT1 |
| 1 | OPEN_HARDWARE | Symbol:OSHW-Logo_5.7x6mm_SilkScreen | LOGO1 |
| 1 | PESD2CANFD | Package_TO_SOT_SMD:SOT-23 | D8 |
| 1 | SMCJ70A | LibreSolar:D_SMC | D12 |
| 1 | SN65HVD230 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U1 |
| 1 | SN65HVD75 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U2 |
| 1 | USB_C_Receptacle_USB2.0 | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J3 |
| 1 | VSS8D3M10-M3/I | Diode_SMD:D_SOD-128 | D9 |
| 1 | ZXMP10A17GTA | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | Q12 |
The 209 most common of 210 parts.
It measures 135 × 70 mm and has 4 copper layers, 1.58 mm thick.
210 parts, built around the ESP32-C3-MINI-1, SN65HVD230D, SN65HVD75D and IPT012N08N5. 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 OpenConverters/Faraday repository on GitHub, at the commit this page was made from: the board is corpus/bms-c1.kicad_pcb. 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).

OpenConverters/Faraday
The living record of ABT #422 (closed 2026-08-01; this file is its successor — update it as boards land). The program: grow the open-source converter corpus, track (a) the derive success rate of the critical-mesh…







