Computing stuff tied to the physical world

Laying out and routing a PCB

The process of laying out a PCB is quite fascinating. Lots of concepts and techniques!

Let’s assume that you have worked your way through the installation of EAGLE (US, DE), found or created all the parts you need, and have a schematic which matches your design.

We’ll use the Bare ARM Blinker again as example:

Screen Shot 2014 12 16 at 16 47 01

If we select “Switch to board” in the “File” menu, EAGLE will auto-generate a layout for us:

Autogen layout

Well, ehm, not quite. What it did was to prepare a default 8×10 cm board, with all the components placed on the outside of it. We now have to manually move and rotate each component, and place them in there. We can also reduce the size of the board (by dragging its borders), and while we’re at it, let’s “add” a few 3 mm mounting holes to the board:

Bare layout

The thin wires are “air wires” – these are the connections which still need to be converted into coppper traces. The challenge ahead is to solve this 100% without creating shorts.

EAGLE has an auto-router which does quite a good job, at least for very simple boards such as this one. Let’s disable copper on the top side, and only put copper traces on the bottom, and then start the autorouter:


Hey, not bad, it found a nice solution! Note that auto routing is a heuristic process, it is not always guaranteed to produce a complete result. Sometimes the board is so crowded or complex that it just can’t solve the puzzle. Sometimes it’s simply our settings which prevent a good solution – here is an attempt with much wider traces, set to 20 mil instead of 10:


Note the remaining air wire. The auto router will report that it has not succeeded 100%. At this point, we can either take over manually, “rip up” some traces and reconnect and route them differently, or find parameter settings which do succeed, such as those thinner traces.

For comparison, here the auto router generated a two-sided PCB, with more direct paths:

Route both

And as you can see in this process, something quite remarkable is happening here: we use a software package to perform a fairly complicated task of laying out copper traces in such a way that the connections match our original schematic diagram – and it just did it for us!

It’s not hard to see how this can be the basis for a real physical board with copper traces.

There is much more to this process than what has been described here, but at least now you’ll have an idea of what’s involved in designing PCBs for all that technology around us.

[Back to article index]