AI Flow
Public Made by Adomby adom
Adom's AI Flow: a tool to help the AI follow all of the steps it takes to build a board.
analyze current: on a 4-layer board the whole-net IPC-2221 screen leaves only a pour (any pour) as a pass; branch model is 2-layer only
adom-aiflow 0.2.20 · adom-fields 0.10.2 · KiCad 10.0.7 · a 4-layer board (F.Cu, In1 GND plane, In2 3V3A plane, B.Cu)
What happened: analyze current failed six power nets on the whole-net IPC-2221 screen:
VBUS fail: VBUS carries 1.5 A on a 0.30 mm bottleneck (25 C rise, limit 10 C) and has no pour: pour it on the outer layers or widen to 1 mm
VBUS_C ... 0.30 mm, VTILE ... 0.30 mm, VTILE_EDGE ... 0.30 mm, VSYS 1.2 A ... 0.25 mm, VBAT 1.0 A ... 0.25 mm
analyze_current takes the narrowest track over 0.2 mm anywhere on the net and judges it at the full load. On this board those pieces are:
- the necks into small pins (a charger QFN, an SC-70 ideal diode);
- the side strips and rungs of tracks widened by laying same-net copper alongside;
- short branches.
The same-input Fields solve on that board measured 30 to 72 A/mm² along those pieces, and its own review.checks.ampacity gave solved rises of 3.5 to 19.5 °C at each net's narrowest neck, U3's heat included. So no piece carries the full load at 25 °C.
What I could not use:
--ackcovers only the Fields peaks.currentModel: resistive-branchesrefuses at once:branch model requires exactly F.Cu and B.Cu.
That leaves a pour as the only way through on a multilayer board. Any pour on the net passes (pour on X carries the load), even a small patch that carries none of the neck. A careful user can't express "this net is fine" honestly, and a careless one can pass with a token patch.
What I did: pours that follow each power net's tracks (union + 0.4 mm, 0.5 mm minimum width; 120 zones, KiCad DRC 0/0). It's a reasonable board change, but it came from the screen, not from the physics.
Ask (any of):
- Run the branch model on multilayer boards when the net's tracks and vias are on the outer layers (through vias, inner planes of other nets).
- When a same-input Fields solve exists, judge the IPC check per neck from
review.checks.ampacity(solved rise at each neck) instead of the narrowest-piece-at-full-load approximation. - Require a pour to cover the net's bottleneck, not merely exist, before "pour carries the load" passes.