The autorouter didn’t fail. Nobody configured it.

Default Avatar
Nabil Chouba

Two hours of setup is why engineers route by hand. The fix isn’t a better optimiser, it’s getting the design intent out of your head and into the file.

Two DeepPCB layers panels side by side: ground and power typed as signal on the left, as power on the right.
Before and after. The same two layers, typed as signal and then as power.

Watch it: https://www.youtube.com/watch?v=apvE_ElRhiA
Listen: https://podcast.altium.com/e/ai-pcb-routing-without-the-epic-fails-inside-deeppcb/


Ask any PCB engineer about autorouters and you’ll get the same answer. They don’t work.

They’re mostly right, and the reason isn’t necessarily the router.

What the file doesn’t say

The DeepPCB layers panel, with the ground and power layers both typed as signal layers.
Route this board as it stands and you get traces where you wanted a copper pour.

An autorouter reads your board file. If the file says a layer is signal, it routes traces on it, even where you meant to pour ground. If no rule sets a width, your power net gets the default. If nothing marks USB D+ and D- as a pair, they route like any other two nets.

None of that is the router being stupid. It’s the router doing what the file said.

The intent lived in your head. It never reached the tool.

The two-hour tax

You can fix all of this by hand. Layer types, net classes, pairs, widths, critical nets, clearances.

That’s about two hours on a real board, and it’s two hours before you learn whether the tool was any good. Most engineers do that arithmetic once and route manually instead. It’s a rational choice, and it’s why autorouting has the reputation it has.

What changes when you can just say it

A Cooper suggestion reading "Set GND layer type to POWER", with accept and reject controls.
Cooper proposes, you accept or reject, one at a time.
Cooper's net classification, listing the board's notable signals including a USB differential pair.
It names the signals it found before anything is routed.

We built Cooper for this. It reads the board and tells you what it sees, then proposes the changes. Cooper doesn’t lay copper. It’s the natural language PCB routing layer above the engine, and the two levels are worth keeping straight.

Say a user sends us a board with USB on it and no reference plane. Cooper says so: you have a differential pair, you need impedance matching, there’s no plane under it. Add ground on inner layer one. Then it asks whether you want that done. For EMI it might suggest a power layer. If you have a 3.3 V rail and a 5 V rail it offers a split plane and works out the pins.

We were demoing in London a few weeks ago when someone asked whether Cooper could check signal integrity on a board none of us had opened. Cooper found the differential pair, read the stackup, and said the gap between the two traces was wrong: this is USB, it needs 90 ohm, and that pair was not at 90 ohm.

We used to worry about the AI making mistakes on your board. More often now it’s finding yours.

You still have to know what you’re building

The fifth of six Cooper suggestions, showing that each one is accepted or rejected individually.
Six suggestions, each one yours to take or leave.

Cooper doesn’t need you to know how the setup should be written. It does need you to know what the board is for. Which net is the battery. Which one is USB. What that component is carrying.

And you keep the last word on everything. Cooper proposes, you accept or reject, per item. If it misreads your board you overrule it.

Zach Peterson put the boundary well. These tools change the designer’s job. They don’t remove the need to know something about PCB design. That split, between deciding what a board is and working out where the copper goes, runs through the whole toolchain, including the tools writing AI generated schematics from a prompt.

Then the router does the boring part

A routed four-layer board in the DeepPCB web app, with the revision history listed beside it.
The same board after the run converged

Once the intent is in the file, the routing engine has what it needs. It’s a reinforcement learning router. It works sequentially, the way you do when you trace a bit of one net and come back to it later. The board it hands back is DRC clean.

Two hours of setup, or a conversation. Routing is still hard. It just isn’t the part that was costing you the afternoon.

Full conversation with Zach Peterson, including three boards from his community routed live and the features we don’t support yet.

Watch: https://www.youtube.com/watch?v=apvE_ElRhiA
Listen: https://podcast.altium.com/e/ai-pcb-routing-without-the-epic-fails-inside-deeppcb/