# PCB Design "Best Practise"

**URL:** <https://community.sparkfun.com/t/pcb-design-best-practise/1191>\
**Category:** BatchPCB\
**Created:** [December 19, 2005, 10:29am UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191 "2005-12-19T10:29:45Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![xanthein](https://avatars.discourse-cdn.com/v4/letter/x/35a633/32.png) [@xanthein](https://community.sparkfun.com/u/xanthein)\
**Post date:** [December 19, 2005, 10:29am UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/1 "2005-12-19T10:29:45Z")

</div>

Hello!

First off - I’m not an electronic engineer in any way shape or form. I am however, mucking around with Microcontrollers and would like to put a PCB together at some point. What I’m looking for (and cannot find, despite much googling) is a set of PCB design hints and tips/“best practise”. The kind of things I’m thinking of (some of which I know already) are:

- How to use ground planes

  

While I’m aware of some aspects of this (e.g. not having sharp turns in traces, routing traces to avoid necking), I’m just worried that there’s lots of stuf I don’t know!! Call it newbie’s anxiety to not screw up 🙂

Appreciate this isn’t a general electronics forum, but it looks like there’s a large number of people here who know their stuff!

Look forward to any replies - who knows, maybe I’ll actually get a board in after Christmas - AFTER reading all your FAQs of course 🙂

Many thanks in advance and happy holidays!

Cheers,

Jon.

---

<div class="post-metadata">

**Author:** ![dakiller](https://avatars.discourse-cdn.com/v4/letter/d/b77776/32.png) [@dakiller](https://community.sparkfun.com/u/dakiller)\
**Post date:** [December 20, 2005, 1:45pm UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/2 "2005-12-20T13:45:52Z")

</div>

This is my basic set of guidelines for doing my own PCBâ€™s

If predominantly through hole components then put the ground plane on the top layer, if predominantly surface mount then ground plane on the bottom

I like trace widths for general signal traces to be 24mil or 32mil, power 50mil or more depending on the layout

Eagle layout editor has its own packages with preset hole sizes for components and I donâ€™t have to worry about deciding on them, if I know that the hole will be too small then placing a via on the pad with the bigger correct hole size is a quick and nasty fix but I rarely have ever done that

With micro’s have the crystal placement and traces as tight as possible, manually route ground returns from the crystal capacitors back to the ground pin on the micro and not to the ground plane

Board mounting holes, just one in the 4 corners usually is fine, but for most things I like to have the board the correct width to run on PCB rails in cases so that it just slides in and there are not mounting holes

General layout is to put parts close together so that there are the shortest tracks between them possible, any wires coming into/out of the board will be connected to headers for easy removal

Know your circuit, know where the currents flow and keep the current loops as short as possible, donâ€™t have sensitive portions of the circuit polluted with noise from other sections

There is a real art to pcb layout, never rush anything and get it right first time, slowly build up sections at a time and you’ll continually rearrange parts along the way and even if you think you have finished, stare at it for a few more minutes and youâ€™ll always find parts you could tweak into better spots and once it is tweaked to the max youâ€™ll be at the point where if you move a single part it will wreak the whole harmony of the layout, that is about the point where you know you are done

---

<div class="post-metadata">

**Author:** ![xanthein](https://avatars.discourse-cdn.com/v4/letter/x/35a633/32.png) [@xanthein](https://community.sparkfun.com/u/xanthein)\
**Post date:** [December 21, 2005, 12:06am UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/3 "2005-12-21T00:06:02Z")

</div>

Thanks!

That’s exactly the kind of info I was looking for!

Having seen a few references on this forum, I think I’m going to treat myself to Al Williams’ book in the new year - and hopefully that’ll get me going!

Thanks again!

Jon.

---

<div class="post-metadata">

**Author:** ![Philba](https://avatars.discourse-cdn.com/v4/letter/p/ed655f/32.png) [@Philba](https://community.sparkfun.com/u/Philba)\
**Post date:** [December 27, 2005, 7:31pm UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/4 "2005-12-27T19:31:41Z")

</div>

Lots of good info from dakiller.

First, one slight quibble - 24 mil is massively wide. I use that for power traces. For width needs, look here - [http://www.geocities.com/CapeCanaveral/ … eWidth.htm](http://www.geocities.com/CapeCanaveral/Lab/9643/TraceWidth.htm) Figure the amount of current you need to carry, double it and then figure out the trace width based on that. For signals, I use 10 or 12 mil. For long runs, maybe 16 mil. There’s a suprising amount of capacity in copper traces. A 16 mil, 1 oz thick copper on an external layer, runing 3 inches can carry 1 amp with minimal heating (5 deg C) though you’d probably want something like 24 or 32 mil for that kind of current.

Keep power supply isolated from the rest of your circuits. especially for unregulated stuff (like that big ol’ filter cap). double that for AC.

keep analog away from everything. digital signals create lots of high frequency noise that can make a mess of analog…

put ground rings around crystals. Not always possible, but the more ground copper you have around the crystal leads, the better.

bypass bypass bypass. also, make sure the ground connection between the chip and cap isn’t long.

avoid long parallel signal runs.

avoid isolated copper areas as that can lead to inductive coupling.

keep your ground connections “short”. ideally, you would have a single plane dedicated to ground but on a 2 layer board, that’s not exactly convenient. The thing to avoid is long ground loops that create differential voltage levels. Though, with a small lower speed board its not so much of an issue. What I do is try to make a single sided design with the other side a (mostly) ground plane. A few traces won’t kill you.

I’m sure others will disagree with me but I never use the autorouter. Laying out by hand is the only way get a decent board. Autorouters will do really stupid things that might be ok for a LM555 circuit but not for a 20 mhz PIC with analog coming in and a wall wart power supply. It’s not as bad as you would think - do it a couple of times and you discover it’s suprisingly easy.

---

<div class="post-metadata">

**Author:** ![dakiller](https://avatars.discourse-cdn.com/v4/letter/d/b77776/32.png) [@dakiller](https://community.sparkfun.com/u/dakiller)\
**Post date:** [December 28, 2005, 3:46am UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/5 "2005-12-28T03:46:35Z")

</div>

> Philba:  
> I’m sure others will disagree with me but I never use the autorouter. Laying out by hand is the only way get a decent board. Autorouters will do really stupid things that might be ok for a LM555 circuit but not for a 20 mhz PIC with analog coming in and a wall wart power supply. It’s not as bad as you would think - do it a couple of times and you discover it’s suprisingly easy.

That is one thing I missed out, Never use the Autorouter!

I donâ€™t know how it is done in other software but in eagle, I lay out the pcb at the same time as drawing the schematic, put a few parts in, switch to the board and place them where they should go and start on the traces between them, you get so much better result then being dumped with a load of parts and nets after drawing the whole schematic and not knowing what should go where

With PCB traces, I probably do use ones that are on the thick side but Iâ€™ve been use to designing for wider tolerance PCB houses or home made ones, I probably could cut down on it

---

<div class="post-metadata">

**Author:** ![Philba](https://avatars.discourse-cdn.com/v4/letter/p/ed655f/32.png) [@Philba](https://community.sparkfun.com/u/Philba)\
**Post date:** [December 28, 2005, 5:24pm UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/6 "2005-12-28T17:24:24Z")

</div>

for toner transfer, I use 12 mil lines and have no problem (ok, most of the time, lol). I can usually get by with 10 mil but I sometimes have to etch a little extra long for some pesky section of the board and that puts the 10 mil lines at risk. I have to admit, I’ve done a lot of TT boards and have gotten pretty good at it. I like 12 mil because I can still put one between 100 mil pitch pads - 16 mil gets a bit dicey and 24 is a no-go.

On the autorouter, its such a terrible crutch. people want to believe it will do the hard part of the job for them. In the end, they wind up with a mess. The funny thing is it’s just not that hard once you manually route a few boards. I think placement of the components is the hardest task - good placement gets you a very routable board. Bad placement gets you nothing but grief…

---

<div class="post-metadata">

**Author:** ![xanthein](https://avatars.discourse-cdn.com/v4/letter/x/35a633/32.png) [@xanthein](https://community.sparkfun.com/u/xanthein)\
**Post date:** [January 3, 2006, 3:05pm UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/7 "2006-01-03T15:05:28Z")

</div>

Great! All very helpful - thanks!

Should a ground plane cover all of the board, or only portions? How would this be affected by having both analog and digital signals on the board?

Just to give an idea on what the board is for, it’s basically a PCB for an AVR-based robot controller board. Nothing fantastically amazing or different there - pin headers for all the MCU pins, pin header connections to the AVR’s on-board ADC from various sensors, 16MHz crystal & appropriate capacitors, PWM control of servos etc etc.

And yes - I’m not going anywhere near the autorouter. I’ve routed a couple of single-sided boards before, so know that it isn’t as bad as it looks! (And this one will be double-sided!)

Thanks once again!

Jon.

---

<div class="post-metadata">

**Author:** ![Philba](https://avatars.discourse-cdn.com/v4/letter/p/ed655f/32.png) [@Philba](https://community.sparkfun.com/u/Philba)\
**Post date:** [January 3, 2006, 7:13pm UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/8 "2006-01-03T19:13:00Z")

</div>

Ideally, a ground plane covers an entire layer, usually an inner one. But you can get a lot of the benefit by making all the unused areas on your pcb as copper ground. In eagle, I draw a rectangle on the entire top and bottom and name them GND. Eagle takes away the GND area where the traces are. Here is an example ![](http://www.geocities.com/pcbs4less/toplayer.gif)[http://www.geocities.com/pcbs4less/toplayer.gif](http://www.geocities.com/pcbs4less/toplayer.gif)

---

<div class="post-metadata">

**Author:** ![Nutter](https://avatars.discourse-cdn.com/v4/letter/n/cc9497/32.png) [@Nutter](https://community.sparkfun.com/u/Nutter)\
**Post date:** [January 4, 2006, 7:32am UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/9 "2006-01-04T07:32:02Z")

</div>

A lot of the manufacturers have good application notes for things like this.

I came across this application note a few days ago and found it very interesting:

High-Speed DSP Systems Design - [http://focus.ti.com/lit/ug/spru889/spru889.pdf](http://focus.ti.com/lit/ug/spru889/spru889.pdf)

(it’s not only for DSPs - lots of good info in there)

---

<div class="post-metadata">

**Author:** ![Caffeine](https://avatars.discourse-cdn.com/v4/letter/c/e99b99/32.png) [@Caffeine](https://community.sparkfun.com/u/Caffeine)\
**Post date:** [January 4, 2006, 10:17am UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/10 "2006-01-04T10:17:58Z")

</div>

> dakiller:  
> That is one thing I missed out, Never use the Autorouter!
> 
> I donâ€™t know how it is done in other software but in eagle, I lay out the pcb at the same time as drawing the schematic, put a few parts in, switch to the board and place them where they should go and start on the traces between them, you get so much better result then being dumped with a load of parts and nets after drawing the whole schematic and not knowing what should go where

Protel’s Autorouter is quite good. We’ve started using at work when we moved from 99SE to DXP. It’s embarrassed a few of the designers by producing neater routing in less time than they do.

That said, it usually still needs a few tweaks and fix ups, and you must spend the time to properly definethe routing rules.

---

<div class="post-metadata">

**Author:** ![leon\_heller](https://yyz1.discourse-cdn.com/sparkfun/user_avatar/community.sparkfun.com/leon_heller/32/7602_2.png) [@leon\_heller](https://community.sparkfun.com/u/leon_heller)\
**Post date:** [January 12, 2006, 7:25pm UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/11 "2006-01-12T19:25:50Z")

</div>

When routing the board, it helps if the shortest tracks are routed first.

Leon

---

<div class="post-metadata">

**Author:** ![jfallin](https://avatars.discourse-cdn.com/v4/letter/j/a88e4f/32.png) [@jfallin](https://community.sparkfun.com/u/jfallin)\
**Post date:** [January 16, 2006, 1:50am UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/12 "2006-01-16T01:50:19Z")

</div>

> Philba:  
> Ideally, a ground plane covers an entire layer, usually an inner one. But you can get a lot of the benefit by making all the unused areas on your pcb as copper ground. In eagle, I draw a rectangle on the entire top and bottom and name them GND. Eagle takes away the GND area where the traces are. Here is an example ![](http://www.geocities.com/pcbs4less/toplayer.gif)[http://www.geocities.com/pcbs4less/toplayer.gif](http://www.geocities.com/pcbs4less/toplayer.gif)

Hello,

I tried your method but cannot find any way to name a rectangle in Eagle. I can draw and name a polygon but then cannt bet Eagle to leave cut outs around it for the same layer traces. Advice?

John

---

<div class="post-metadata">

**Author:** ![Philba](https://avatars.discourse-cdn.com/v4/letter/p/ed655f/32.png) [@Philba](https://community.sparkfun.com/u/Philba)\
**Post date:** [January 16, 2006, 9:33am UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/13 "2006-01-16T09:33:58Z")

</div>

Sorry, I meant to say polygon. You can’t name a rectangle - polygon is the right way to do it.

after you have layed a trace down, hit the “ratsnest” button and it will do what you want. I’d also suggest you use change (wrench looking icon) to set isolation to something like 12-16 mils.

Don’t fight eagle, there is usually a way to do almost everything you want though it will be a bit obscure. Realize that if you think windows with eagle, you will almost certainly be wrong…

By the way, the Al Williams book on making pcbs at home (I think that’s the title) is a great resource for learning eagle.

---

<div class="post-metadata">

**Author:** ![donblake](https://avatars.discourse-cdn.com/v4/letter/d/74df32/32.png) [@donblake](https://community.sparkfun.com/u/donblake)\
**Post date:** [January 16, 2006, 1:28pm UTC](https://community.sparkfun.com/t/pcb-design-best-practise/1191/14 "2006-01-16T13:28:32Z")

</div>

> Philba:  
> By the way, the Al Williams book on making pcbs at home (I think that’s the title) is a great resource for learning eagle.

I agree, this book ( **\_\_\*Build Your Own Printed Circuit Board\*\_\_** ) is a great resource. Two other great resources:- - [[EAGLE Tutorial](ftp://ftp.cadsoft.de/eagle/program/4.16/tutorial-eng.pdf)
- - [[EAGLE Manual](ftp://ftp.cadsoft.de/eagle/program/4.16/manual-eng.pdf)
[/list]Don](ftp://ftp.cadsoft.de/eagle/program/4.16/manual-eng.pdf)](ftp://ftp.cadsoft.de/eagle/program/4.16/tutorial-eng.pdf)
