freerouting (freerouting) errors

9 recurring problems engineers report in freerouting (freerouting), ranked by impact.

#47 by errors trackedECAD

Recurring freerouting (freerouting) errors, by impact

  1. 1KiCad'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 · Agent failure · 1 report82
  2. 2KiCad 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 · Agent failure · 1 report74
  3. 3KiCad 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 · Agent failure · 1 report74
  4. 4KiCad 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 · Agent failure · 1 report74
  5. 5After 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 · Agent failure · 1 report66
  6. 6Follow-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 · Agent failure · 1 report66
  7. 7Freerouting connects pads 'A' and 'a' that KiCad treats as separate nets, adding traces KiCad never asked for.ECAD · Agent failure · 1 report66
  8. 8KiCad 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.ECAD · Agent failure · 1 report66
  9. 9On the author's 4-layer board, Ethernet differential pairs named ETH_TXP/ETH_TXN and ETH_RXP/ETH_RXN were not detected as pairs, while only the USB pair was, because the detector wanted a delimiter before P or N. KiCad pairs these names and its Ethernet reference designs use them, so the router quietly treated the Ethernet pairs as single-ended nets.ECAD · Agent failure · 1 report66

How it fails

  1. Agent failure9

Engineering tools that address these errors

Sourced from public community reports. Costs and delays on individual entries are modeled estimates, not measurements.