KiCad exports an inner plane layer as type power, and Freerouting could not end a connection on that plane, so most GND and supply pads got chained to each other on the outer layers and those connections were counted as unrouted and dropped. Same-net copper was not an obstacle either, so rows of decoupling capacitors ended up on a bus.
Recurring agent failure issue in freerouting (freerouting)
What engineers report
A recurring agent failure problem in freerouting (freerouting) that mostly hits the electrical engineer.
Failure pattern: validation / failure
Analyst note
From the Grok pain-radar digests, Nov 10-11 2026 (Nov 10 8:41 AM ET through Nov 11 7:41 AM ET digests plus the Haitch editions). Verified live 2026-11-11: issue/PR read; title and state confirmed.
What it costs a team
Modeled annual cost
$30,000
For a team of 5
Prototype delay
3 days
Modeled schedule slip per occurrence
Time lost
240 min
Per engineer per month, about 1 incidents
How the cost is modeled
240 min/month × 5 engineers × 12 months = 240 hours × $125/hour = $30,000
A modeled estimate with medium confidence. Swap in your own team size and loaded rate to size it for your team.
Engineering tools that address it
No engineering tool profile lists this error yet. Browse tools that connect to freerouting (freerouting).
Evidence
More recurring errors in freerouting (freerouting)
- KiCad's Specctra exporter writes wire coordinates with six significant digits, so past 100 mm a track that starts on a pad centre arrives up to half a micrometre off, and Freerouting only connects a trace end at the exact pin centre. On the 20 PCBench reference-routed boards, the router started with 5,586 unconnected items on boards that were complete in KiCad. With the 1 um snap it is 427, and unrouted-after-one-pass went from 941 to 90. The KiCad bug, #25850, is confirmed upstream but not fixed in the versions people use.ECAD · impact 82
- KiCad cannot express a rounded-rectangle pad in Specctra, so it exports the pad as a polygon and writes the size into the padstack name. Up to KiCad 10.0 the export enlarges the pad to compensate for 36 segments per circle, but the polygon uses far fewer. On the standard 0603 pad (KiCad 10.0.8), straight edges end up 0.761 um outside the real pad so Freerouting flags violations KiCad does not, and the corner chords sit 3.1 um inside the real corner so Freerouting can put a via or trace up to 3 um too close. KiCad fixed this in master, not in 10.0, and 47 of the repo's test boards carry it.ECAD · impact 74
- KiCad lets traces go down to the board trace_min, but the Specctra export only carries net class widths, so Freerouting never learns about it. On 848 of 1,142 PCBench fixtures, trace_min is below the Default class width, and 100 of the 138 boards that failed to fully route are among them, for example a board with 254 um traces in a 508 um class.ECAD · impact 74
- KiCad only writes net class clearances into the Specctra DSN file it hands to Freerouting, so the board's custom rules in .kicad_dru get dropped: mains isolation, bigger clearance inside a relay, tighter clearance under a fine-pitch part. Freerouting then routes against the wrong rules and KiCad's DRC rejects the result. KiCad 10 has no way to export them, so the contributor made Freerouting parse .kicad_dru itself and re-implement KiCad 10's rule matching.ECAD · impact 74
- After the Specctra session import, the board showed tracks over unrefilled pours until someone pressed B in KiCad, and traces cutting across a plane could split it into islands the router did not notice. The PR refills zones automatically, tracks plane fractures and adds bridge traces on export for continuity.ECAD · impact 66
- Follow-up to last hour #1067. Feeding each board KiCad minimum track width to the router as a neck width takes the 56 near-miss boards from 14 fully routed to 32. The value had to be read straight from the .kicad_pcb because the Specctra file never carries it.ECAD · impact 66
Sourced from public community reports. Costs and delays are modeled estimates, not measurements. Know a better source or a fix? Tell us at hello@productflo.io.