KiCad - the KiCad Bridge
Public Made by Adomby adom
Drive your own KiCad from an AI, in the background: open every editor, read the whole board as data (the EDA Bridge Standard board model), stack-up, part heights, netlists, place, route, pour, DRC and exports.
Freerouting DSN: track width comes back at 0.187 mm below the 0.2 mm board minimum, approximated pads cause clearance errors, plane layers get signal routes
Measured on ConfRoomROG (KiCad 10.0.5, bridge 1.0.3) with the ESC G431 routing fixture (149 parts, 59 nets, GND plane on In1.Cu, +3V3 plane on In2.Cu): kicad_autoroute {engine:"freerouting", passes:40, job:true} routed all 59 nets in 229 s (18 passes, 1217 segments, 139 vias, applied as 59 undo steps), but kicad_routing_validate reported 202 errors and 7 unconnected:
- 162 track_width: "board setup constraints min width 0.2000 mm; actual 0.1874 mm". The DSN writer emits the KiCad default 0.25 mm width, yet Freerouting lands 0.1874 mm segments, which points at a unit or resolution mismatch in the DSN rules block (0.1874 mm is 7.38 mil), or Freerouting's own default class overriding ours. The DSN we write should carry the board's minimum track width and clearance from the setup block and each netclass width, and the SES import should refuse or widen segments below the board minimum.
- 12 clearance and 9 shorting_items against the custom-shape MOSFET pads (Q1..Q6 pads 1 and 5) and roundrect pads: the writer approximates these shapes (reported as approximatedPads) so Freerouting routes into the real pad's copper.
- 4 hole_clearance, 9 solder_mask_bridge, 2 via_dangling.
- The two inner layers carry planes but Freerouting still routed signal traces on In1.Cu and In2.Cu (visible in the take); a plane layer should be marked as such in the DSN so the router only drops vias into it.
- 7 unconnected after the zones are refilled.
Expected: the DSN rules mirror the board (min width, min clearance, netclass widths, via sizes), custom pads are written as polygons, plane layers are reserved, and the reply's drc block leads with these numbers so the AI never reports a Freerouting result as clean. The full validate output is in demo/routing/esc/ on the page after the routing round.