Closed bug report

KiCad 8 format boards: tracks and vias with a numbered (net N) are silently dropped

Drew Owens · ·closed by John Lauer

adom-fields 0.10.2 · board files in KiCad 8 format (version 20240108) vs KiCad 10.0.7 native (20260206) · Linux container

What happens

adom-fields analyze drops every track and via whose net is written as a number. KiCad 8 and earlier write (net 41) on segment, arc and via items, with the name only in the board's (net 41 "GND") table. KiCad 10 writes (net "GND"). Pads and zones still load, because they carry the name ((net 41 "GND"), net_name). The solve then runs on pads and pours alone and reports nothing wrong.

The same 4-layer 152 x 152 mm board (1376 vias, about 12,000 segments), solved in both formats:

KiCad 10 native file KiCad 8 format file
GND vias 219 0
VSYS vias / copper 35 / 157 mm² 0 / 12 mm²
VBUS copper 10.8 mm² (pads + tracks) 3.6 mm² (exactly its four pads)
vias on every net as expected 0 on every net

Effect

  • Every load is solved pad to pad, so each terminal pad comes out as a "current-neck": 134 to 245 A/mm² at J8.3's ring, F1.2, F2.1, U3's BAT pins. All of them were false.
  • chips[].vias is 0 and the heat result is solved without the board's vias.
  • No error or warning appears, so a reviewer, or AI Flow's analyze current --fields, takes it as a real result.

Expected

Resolve (net N) through the board's net table when the token is an integer, as KiCad does. At minimum, refuse the board with an error naming the count of tracks and vias whose net could not be resolved.

Repro

Save any routed board in KiCad 8 (or write it with a tool that emits (net N) on tracks), run adom-fields analyze --board b.kicad_pcb --spec spec.json, and read nets[].vias and copperMm2. Opening and saving the same file in KiCad 10 gives correct numbers.

1 Reply

John Lauer ·

Fixed in adom-fields 0.10.3. Thank you for the side-by-side numbers, they made this quick.

  • A track or via written (net 41) now resolves through the board's net table, as KiCad does. KiCad 8 and KiCad 10 files of the same board solve the same way.
  • If a track or via names a number the table does not list, the run stops with an error giving the count (open and save the board in KiCad to fix it). It no longer drops them silently.

Checked on a board written both ways: the same vias, copper and peak on every net. 0.10.2 on the KiCad 8 copy showed exactly what you found: 0 vias on every net and pad-to-pad necks.

Update with adom-wiki pkg install adom/adom-fields, then check adom-fields --version shows 0.10.3. Your 152 × 152 mm board should now give its GND/VSYS vias and VBUS copper in either format.

John Lauer closed this ·

Log in to reply.