main
John Lauer Compare Kale and Astra BMS routing across all nets and document copper-retention tradeoffs 8921f66 28d ago

Kale and Astra: the same BMS, net by net

Kale routed the original public BQ76952 BMS Molecule v2. Astra routed a separate copy using Codex in Adom Hydrogen and the released KiCad Bridge. The comparison preserves both boards and matches their nets by pad membership. It explains observable differences and Astra's recorded planning decisions; it does not claim to know Kale's intent.

Narrated comparison

The focused film highlights the same net on Kale's board, then Astra's, then both. It covers the large reference and load-return regions, transistor drain copper, pack rails, the 3.3 V plane, cell-domain copper and shunt sensing. The two sides use the same coordinates, zoom and layer orientation. Back copper is shown from the top, without mirroring.

Watch or download the narrated comparison.

These are explicitly labeled comparison graphics derived from native KiCad geometry, not a new routing replay or simulation. Gold marks the selected net; gray shows other copper. The render includes pads, tracks, vias, filled zones and assigned copper graphics. Silkscreen is omitted to keep the copper readable. Adom TTS supplies the narration at a natural pace.

What the comparison reveals

Across all four layers, the original retains 38,178.6 mm² of copper versus 36,476.2 mm² in the routed copy. Astra has 4.46% less copper area overall. Selected power-pour expansions did not improve the whole-board retention total. This comparison identifies a concrete ablation optimization still to do. These are sums of projected layer areas, not measured laser times.

Net and layer Kale's copper Astra's copper Interpretation
VSS / In1.Cu 7,236.9 mm² 5,439.9 mm² Less monitor-reference area in the routed copy; a reference-coverage tradeoff.
PGND / F.Cu 1,557.8 mm² 2,007.5 mm² More front load-return copper. The regulator-feed move restored a broad return corridor.
/FETs/CD / B.Cu 250.6 mm² 429.0 mm² More bottom drain area, but fewer dedicated vias on this net overall: 23 to 15.
/FETs/PACK+ / B.Cu 78.0 mm² 481.5 mm² Broader power copper. Dedicated vias drop from 24 to 0; three plated component pads still span layers, so the interlayer current path needs review.
3.3V / In2.Cu 1,060.7 mm² 4.5 mm² Kale retained a large supply plane. Astra used a compact routed network. This deserves another supply-impedance and ablation review.
/FETs/12P / F.Cu 109.9 mm² 59.6 mm² A smaller front region in the routed copy. Correct thermal-net identity does not alone maximize useful heat spreading.

Copper area is not a temperature, current, resistance or laser-time result. Via count alone is not a score either: diameter, drill/plating, location, component pads, necks and current sharing matter. The comparison shows several changes to revisit, especially 3.3 V plane coverage, reference-plane allocation and interlayer power/thermal paths. The routed copy has not been silently modified to hide those differences.

Drain copper comparison

3.3 V plane comparison

Complete 236-net companion

The companion covers all 236 named pad nets, including explicitly unconnected/single-pad nets that do not require routing. Each four-second entry shows all four layers: Kale highlighted for one second, Astra for one second, and both for two seconds. Pause or seek using the index below. All panels share a net-specific zoom and the same top-view orientation. This companion is silent; its timing is a viewing cadence, not routing speed.

Open the full net comparison · Download measured per-net data.

Geometry and validation method

Adom Bridge transfers disposable copies to ConfRoomROG and invokes the installed KiCad CLI and Python geometry API through run_script. Neither the live editor nor a bridge runtime is patched. Both copies are refilled using the same native KiCad 10.0.5 CLI options and inherited project rules. Both report zero opens and zero reported violations. This comparison does not replace the stricter diagnostic and physical-test limits documented in the BMS review.

Native polygon exports include assigned copper graphics from Kale's board, not just conventional zones. Per-net areas are unions within the board outline, with drill voids removed. Curves use the native polygon representation with a 0.005 mm requested approximation where applicable. Unassigned copper remains neutral; it is not attributed to a guessed net. Track-primitive length excludes current paths through polygons and pours, so it is not used as an end-to-end routing score. Source hashes, net aliases, metrics and edit manifests are preserved.

Net index

The order starts with the largest combined assigned copper areas, then proceeds to smaller nets. The time links target the full companion MP4.

Time Net
00:00 VSS
00:04 PGND
00:08 QGND
00:12 /FETs/CD
00:16 /FETs/PACK+
00:20 /Monitor/BAT-
00:24 3.3V
00:28 /FETs/FBAT
00:32 /FETs/16P
00:36 /FETs/CPACK+
00:40 /FETs/4P
00:44 /FETs/8P
00:48 /FETs/12P
00:52 REG1
00:56 /Monitor/SDA
01:00 /Monitor/SCL
01:04 Net-(C71-Pad1)
01:08 unconnected-(MP3-Pad1)
01:12 unconnected-(MP4-Pad1)
01:16 unconnected-(MP2-Pad1)
01:20 unconnected-(MP1-Pad1)
01:24 VBUS
01:28 /Monitor/HDQ
01:32 /Monitor/CFETOFF
01:36 /Monitor/RST_SHUT
01:40 Net-(F1-Heater)
01:44 /FETs/9P
01:48 /FETs/7P
01:52 Net-(D4-K)
01:56 REG2
02:00 Net-(D13-K)
02:04 Net-(Q2-G)
02:08 /FETs/15P
02:12 /FETs/5P
02:16 /FETs/6P
02:20 /Monitor/DFETOFF
02:24 /FETs/14P
02:28 /Interface/SCL2
02:32 /Monitor/EXTTS2
02:36 /FETs/3P
02:40 /Interface/uC_SPI_CLK
02:44 /Monitor/PACK
02:48 /FETs/13P
02:52 /FETs/10P
02:56 /FETs/11P
03:00 /Monitor/DSG
03:04 Net-(D2-K)
03:08 /Interface/uC_SPI_CS
03:12 /Interface/SDA2
03:16 /Monitor/LD
03:20 Net-(R5-Pad1)
03:24 Net-(R10-Pad2)
03:28 /Monitor/DDSG
03:32 Net-(J26-Pad10)
03:36 /Monitor/DCHG
03:40 /FETs/1P
03:44 /Monitor/REGIN
03:48 Net-(J2-Pad4)
03:52 /Monitor/PCHG
03:56 Net-(Q6-G)
04:00 /Monitor/BREG
04:04 /Interface/uC_HDQ
04:08 Net-(D5-K)
04:12 /Monitor/CHG
04:16 /Monitor/TS2
04:20 /Monitor/ALERT
04:24 /FETs/2P
04:28 /Monitor/PDSG
04:32 /Interface/uC_SPI_MISO_B
04:36 /Interface/P4_2
04:40 /Monitor/FUSE
04:44 /Interface/uC_SPI_MOSI
04:48 Net-(J7-Pad3)
04:52 Net-(U11-P7.6{slash}TB0.4)
04:56 Net-(U11-P7.7{slash}TB0CLK{slash}MCLK)
05:00 Net-(U11-P7.4{slash}TB0.2)
05:04 Net-(U1-TS3)
05:08 Net-(U1-TS1)
05:12 Net-(U11-P7.5{slash}TB0.3)
05:16 Net-(Q6-D)
05:20 Net-(U1-BAT)
05:24 VUSB
05:28 /Interface/LED1
05:32 Net-(U2-VDD)
05:36 Net-(J26-D+)
05:40 /Interface/SMBC1
05:44 Net-(Q5-D)
05:48 /Interface/uC_SPI_MISO_A
05:52 /Interface/LED2
05:56 Net-(J26-D-)
06:00 Net-(U2-V4)
06:04 /Interface/PUR
06:08 Net-(U4-V4)
06:12 Net-(U3-V4)
06:16 Net-(Q2-D)
06:20 /Interface/RST
06:24 /Interface/LED3
06:28 /Interface/P4_3
06:32 /Interface/DP
06:36 /Interface/DM
06:40 Net-(U11-P1.0{slash}TA0CLK{slash}ACLK)
06:44 /Interface/SMBD1
06:48 Net-(U5-V4)
06:52 Net-(U11-P1.1{slash}TA0.0)
06:56 Net-(U2-V3)
07:00 Net-(U3-V3)
07:04 /Monitor/SRP
07:08 Net-(U11-P1.2{slash}TA0.1)
07:12 Net-(U4-V3)
07:16 /Monitor/SRN
07:20 Net-(U1-REG18)
07:24 Net-(U11-P1.3{slash}TA0.2)
07:28 /Monitor/VC13
07:32 Net-(U1-CP1)
07:36 /Interface/TEST
07:40 /Monitor/VC3
07:44 Net-(U5-V3)
07:48 Net-(U11-P1.4{slash}TA0.3)
07:52 /Monitor/VC12
07:56 Net-(U5-V1)
08:00 /Monitor/VC11
08:04 /Monitor/VC14
08:08 Net-(U11-P1.5{slash}TA0.4)
08:12 /Monitor/VC10
08:16 /Monitor/VC4
08:20 Net-(U4-V1)
08:24 Net-(U10-A2)
08:28 Net-(U11-P1.6{slash}TA1CLK{slash}CBOUT)
08:32 Net-(U2-V2)
08:36 Net-(U5-V2)
08:40 /Monitor/VC2
08:44 Net-(J6-Pad1)
08:48 /Monitor/VC5
08:52 /Monitor/VC1
08:56 /Monitor/VC15
09:00 Net-(J6-Pad3)
09:04 Net-(U3-V1)
09:08 unconnected-(J17-Pad4)
09:12 Net-(R70-Pad1)
09:16 /Monitor/VC6
09:20 Net-(R76-Pad1)
09:24 Net-(R45-Pad1)
09:28 Net-(R64-Pad1)
09:32 Net-(U3-V2)
09:36 Net-(D6-K)
09:40 /Monitor/VC9
09:44 Net-(R73-Pad1)
09:48 /Monitor/VC7
09:52 /Monitor/VC8
09:56 /Monitor/VC0
10:00 /Monitor/VC16
10:04 Net-(U4-V2)
10:08 Net-(J11-Pad3)
10:12 Net-(J12-Pad1)
10:16 Net-(J15-Pad1)
10:20 Net-(J20-Pad1)
10:24 Net-(J18-Pad1)
10:28 Net-(J11-Pad1)
10:32 Net-(U2-V1)
10:36 Net-(D3-K)
10:40 Net-(D1-K)
10:44 Net-(Q7-G)
10:48 Net-(C37-Pad1)
10:52 unconnected-(J29-Pad1)
10:56 Net-(C34-Pad2)
11:00 Net-(Q9-G)
11:04 Net-(C29-Pad1)
11:08 Net-(C42-Pad2)
11:12 Net-(D7-K)
11:16 Net-(U5-VDD)
11:20 Net-(U4-VDD)
11:24 Net-(U3-VDD)
11:28 Net-(D9-A)
11:32 Net-(Q4-B)
11:36 Net-(U11-P5.2{slash}XT2IN)
11:40 Net-(Q13-B)
11:44 Net-(Q11-B)
11:48 Net-(U11-P5.3{slash}XT2OUT)
11:52 Net-(Q4-C)
11:56 Net-(U11-V18)
12:00 Net-(Q13-C)
12:04 Net-(Q11-C)
12:08 Net-(U10-DIR)
12:12 Net-(U5-OUT)
12:16 Net-(D13-A)
12:20 Net-(Q4-E)
12:24 Net-(Q11-E)
12:28 Net-(Q13-E)
12:32 Net-(D15-A)
12:36 Net-(D14-A)
12:40 Net-(D16-A)
12:44 Net-(U11-VCORE)
12:48 unconnected-(S3-PadMP1)
12:52 unconnected-(S3-PadMP4)
12:56 unconnected-(S3-PadMP2)
13:00 unconnected-(S3-PadMP3)
13:04 unconnected-(J26-ID-Pad4)
13:08 unconnected-(U14-NC-Pad4)
13:12 unconnected-(U11-P3.5{slash}TB0.5-Pad42)
13:16 unconnected-(U11-P3.6{slash}TB0.6-Pad43)
13:20 unconnected-(U11-P3.7{slash}TB0OUTH{slash}SVMOUT-Pad44)
13:24 unconnected-(U11-P4.0{slash}PM_UCB1STE{slash}PM_UCA1CLK-Pad45)
13:28 unconnected-(U11-P4.1{slash}PM_UCB1SIMO{slash}PM_UCB1SDA-Pad46)
13:32 unconnected-(U11-P5.6{slash}TB0.0-Pad55)
13:36 unconnected-(U11-P5.7{slash}TB0.1-Pad56)
13:40 unconnected-(U11-P5.0{slash}A8{slash}VREF+{slash}VEREF+-Pad9)
13:44 unconnected-(U11-P5.1{slash}A9{slash}VREF-{slash}VEREF--Pad10)
13:48 unconnected-(U11-P5.4{slash}XIN-Pad12)
13:52 unconnected-(U11-P5.5{slash}XOUT-Pad13)
13:56 unconnected-(U11-P6.4{slash}CB4{slash}A4-Pad1)
14:00 unconnected-(U11-P6.5{slash}CB5{slash}A5-Pad2)
14:04 unconnected-(U11-P6.6{slash}CB6{slash}A6-Pad3)
14:08 unconnected-(U11-P6.7{slash}CB7{slash}A7-Pad4)
14:12 unconnected-(U11-P7.0{slash}CB8{slash}A12-Pad5)
14:16 unconnected-(U11-P7.1{slash}CB9{slash}A13-Pad6)
14:20 unconnected-(U11-P7.2{slash}CB10{slash}A14-Pad7)
14:24 unconnected-(U11-P7.3{slash}CB11{slash}A15-Pad8)
14:28 unconnected-(U11-P1.7{slash}TA1.0-Pad28)
14:32 unconnected-(U11-P2.1{slash}TA1.2-Pad30)
14:36 unconnected-(U11-P2.2{slash}TA2CLK{slash}SMCLK-Pad31)
14:40 unconnected-(U11-P2.3{slash}TA2.0-Pad32)
14:44 unconnected-(U11-P2.4{slash}TA2.1-Pad33)
14:48 unconnected-(U11-P2.5{slash}TA2.2-Pad34)
14:52 unconnected-(U11-P2.6{slash}RTCCLK{slash}DMAE0-Pad35)
14:56 unconnected-(U11-P3.0{slash}UCB0SIMO{slash}UCB0SDA-Pad37)
15:00 unconnected-(U11-P3.1{slash}UCB0SOMI{slash}UCB0SCL-Pad38)
15:04 unconnected-(U1-NC-Pad19)
15:08 unconnected-(U11-P6.3{slash}CB3{slash}A3-Pad80)
15:12 unconnected-(U11-P6.0{slash}CB0{slash}A0-Pad77)
15:16 unconnected-(U11-P6.1{slash}CB1{slash}A1-Pad78)
15:20 unconnected-(U11-P6.2{slash}CB2{slash}A2-Pad79)
15:24 unconnected-(U11-PJ.0{slash}TDO-Pad72)
15:28 unconnected-(U11-PJ.1{slash}TDI{slash}TCLK-Pad73)
15:32 unconnected-(U11-PJ.2{slash}TMS-Pad74)
15:36 unconnected-(U11-PJ.3{slash}TCK-Pad75)
15:40 unconnected-(U1-NC-Pad44)

Return to the routing progression.