PCB design automation started with one goal: put in the design intent, get out the Gerbers. These ten posts cover replacing more than twenty years of hand-drawn PADS schematics and layout with generated KiCad files.

Four-layer routing of the generated 16-channel IO board

This is not a success story. A board came out 1.5× too large after passing every gate, the measuring tool was modifying the thing it measured, and we declared something “physically impossible” three times and were wrong all three times. Here is the whole run, in order.

Building the pipeline

Schematic generation from design intent comes first. Everything downstream is discarded if this is wrong, so the gates here are dense.

When the routing will not close

The autorouter and DRC, in three parts. Every rule DRC does not check needed a checker of its own.

The last one

The slowest stretch in automation was never the first 90 percent. It was the last few nets.

After calling it finished

Three posts written after we wrote “done.” What we believed we had verified fell apart under review, and the two after that put the same method on new boards.

What the series comes down to

PCB design automation kept returning to one point. Gates only check that the things we generated agree with each other. If the input reading is wrong, every gate stays green and the output is still wrong.

  • Cross-check units and scale against something outside the files: manufacturing CAM, real part pitch
  • Confirm the measuring command does not write to what it measures
  • Anything DRC ignores - angles, silkscreen, assembly clearance - needs its own checker
  • “Physically impossible” is a conclusion only after it has been proven in coordinates

The quality of an automated pipeline comes from the density of its gates, not the cleverness of its generator.

Contact