It's that time of the year where everyone gets to look back at the previous year, and think about the new one ... and as usual I find myself wondering what I could and should improve in 2014.
My big resolution for the upcoming year? Finally step into the 19th century
I'm going to try to use the metric system exclusively for PCB layout this year, and see how many DRC problems I'll face with board houses, etc. It's easier to make a move like this here in Europe -- most Chinese and European board houses specify their drill tolerances, annular rings, etc., in mm -- and footprints have been listed in mm for ages, but the obvious hold out is trace width. Trace width is still almost always indicated in mil (6/6, 6/7, 8/8, etc.).
It's a bit ambiguous to route traces in mm since natural metric units are ever so slightly smaller than the mil equivalents (ex.: 6 mil -- a common trace width/space -- is 0.1524 mm, whereas the natural metric equivalent is 0.15mm). I often use 7 mil traces and 6 mil spaces on tight pitch boards, and 7 mil is an even more awkward 0.1778mm. Thankfully 0.175mm will pass, though, since you're probably paying for 6/6 tolerances.
I normally align traces and parts on a 5 mil scale in the past, but I'm going to start with the following and see how it goes:
Tight pitch parts/signals: 0.1mm grid
Discrete components: 0.5mm grid
ICs: 1.0mm grid
Tight pitch/4 layer: 0.15mm (6mil) spaces and 0.175mm (7 mil) traces.
Low-cost/2 layer: 0.2mm (8 mil) or 0.25mm (10 mil).
I'll post an update on how this goes, but it feels like a long overdue decision on my part, and I honestly thing it's going to make the move from PCB to product easier (designing custom enclosures, finding appropriate cases, etc.).
Any thoughts on this yourself? Feel free to post a comment up below!
Update: 14 Jan 2013
As I sit down to try to route my first complex board in purely metric, I'm already confronted with a number of problems in Eagle. First, the default grid when you move from the schematic to a new board file is 0.1in and this seems to be hard-coded. What this means is that by default none of your parts are aligned on a metric friendly grid or position.
Problem 1: Switching to a Metric Grid
To set the grid to something sane to start with you can click the 'Grid' icon in the top-right corner of the board editor, and set the values to (for example):
Size = 1.0mm
Alt = 0.5mm
Then click 'OK', right-click on the 'Grid' icon again and select 'New...', and then save these metric friendly settings as something like 'MetricGrid'.
Not whenever you right-click the grid icon you at least have quick access to the standard metric grid.
Problem 2: Snap existing components to the metric grid.
You can select the 'Move' command and then 'Ctrl+Click' any single component and it will snap it to the nearest grid intersection. If you only have a few components this is pretty quick and painless.
Alternatively, type 'run cmd-snap-board.ulp' in the command bar and set the value to 1.0mm and click OK and this should align every component on your board to the specified grid.
Now to see how painful actually routing is!