Could someone take a quick peek at these PCB's?

Hey guys,

I think I've finally got my PCB designs nailed down, but they're the first ones I've ever done, I was hoping someone could take a quick peek at them and tell me if you see any obvious design flaws, like a missing ground connection or an improperly sized component or something.

I followed the tutorials I found online as best I could, laying the traces on each side perpendicular to one another, avoiding 90 degree bends, and laying my ground traces out in as star-like a fashion as was reasonably possible on such a small board. I also calculated how much current various trace widths could handle, and I think I'm okay here with .015" traces. (I don't plan to draw more than 400mA at once from the batteries.)


http://raccoonrocket.com/gb/pke/circuit-egbpke.png (High res, so you can see pin names)


http://raccoonrocket.com/gb/pke/circuit-rgbpke.png (High res, so you can see pin names)

Actual layout of circuit board that will be made:
http://raccoonrocket.com/gb/pke/circuit.png (High res)

In case it helps, this is the schematic I drew up for the EGB PKE:


http://raccoonrocket.com/gb/egbschematic-final.png (High res)

I made a few changes to this on the board above. It now includes a potentimeter to adjust volume, and I changed the names of some of the components. I also changed the pin the speaker was attached to so things would be laid out more nicely on the board.

The RGB design as you can see is about 90% identical, but because the display is much simpler, and only one LED will be lit on it at a time, I didn't need the darlington array IC, so I added a spot for a voltage regulator and servo, which I may use to move the antennas in a future iteration of the prop.

Oh, and speaking of which, here's a photo of the prop, with an older design based on a 555 and 4017:
http://raccoonrocket.com/gb/pke-final-02.jpg

Nice looking layout! I have boards made with 1.25 ounce copper and .015" is supposed to be good for 400mA at that thickness.

When you have to route between pads, like in the led array section, you don't have a lot of choice but to go with a thin trace. I tend towards wider traces when I can get away with it.

For what it's worth, I'd probably beef up the traces to pins 21 and 24, which I believe are your ground and 5V supply and the GND on the 2803. I generally use at least .040" traces for Vcc and GND.

Good luck with your project!

Mike

I am not an expert.
Martin Barrat, who is a commercial EE & PCB designer, says:

  • Route power and ground first, and allow yourself to consume an entire layer for it.
  • Route the circuit on the other layer, safe in the knowledge that power and ground are solid, and route signals via power/ground layer when you need to.
  • Minimise changes in track width, especially of power and ground
  • Avoid any loops in power and ground.

As far as I can see, beef up all power and ground.
For example, it makes sense to have the ULN2803's power and ground much broader than the individual octal Darlington traces.

Are there easy to get at test points which you can access if the board is not working? Ideally, test points should be easy to attach a probe to. I can't see any. It may help for test points to be labelled with expected values.

HTH

laying my ground traces out in as star-like a fashion as was reasonably possible on such a small board.

I don't think that that particular design principle is particularly applicable to this sort of circuit; it's more common (and useful) to lay down "ground planes" that pretty much fill up the entire unused area on both top and bottom of the board (as done for Arduino itself, for instance.) The "star" layout is for high frequencies and things with special analog ... issues or something (I've never been quite clear on the issue.)

Bigger tracks for power and gnd (as other have said.)

I'd move the vertical traces on the LED array section further away from the pads of the DIPS, just because there is plenty of room to do so.

I didn't see anything obvious wrong with it, though it's hard to judge PCBs from pictures without being able to poke at signals/etc. It does look pretty...

Why larger traces on ground/power?

Using this trace width calculator:
http://www.4pcb.com/index.php?load=content&page_id=95

I determined that for 1oz copper traces, with an allowable temperature rise of 10 degrees celcius, the following trace widths could safely handle the following current, when on exterior layers:

0.01" = 870mA
0.015" = 1180mA
0.02" = 1450mA

And though it wasn't relevant for my board, I also calculated the current the same interior layer trace widths could handle:

.01" = 440mA
.015" = 590mA
.02" = 730mA

All of which are well within the parameters of my board.

Of course temperature rise might not be the only factor to consider here. Is there something else I'm missing?

I'd agree with fatter supply lines, ground plane is good (less acid wasted etching the board for one thing), and add decoupling by the ULN2803 as itis switching significant current - 100n ceramic and a small electrolytic would be good, otherwise you are relying on the decoupling on the Arduino Mini.

When routing high-current high-frequency digital signals always take ground lines parallel to them to reduce inductance and RF noise (otherwise you are creating a radio transmitter + aerial) Route these explicitly and then add a ground plane as well, since ground planes alone often end up split into islands.

Having said all that it'll probably work fine as it is.

How exactly would I go about decoupling the 2803? On which pin would I put the capacitor?

Decoupling capacitors go between power and ground, with the capacitors as near the power pin as practical/comfortable.

G'day,
When I lay out artwork,
1. I always try to use the solder side (green) when ever possible it makes faultfinding easier.
e.g.
Connections to R2 could be green
Track from 9V to LED3
track from LHS R3 to LED3 when routed under the R3, R5 etc
SPK to POT2
All connections to C1 & C2
? why use a surface mount C2, or at least have holes for a non surface mount cap
2. If you can avoid tracks between pins do it.
e.g. track from LED3 to Pro mini pin 23 could go around Pin1
3. Eliminate Via's when ever possible
e.g. track from VR1 to via under pro mini could be routed around to pin 24.
I may appear to be nit picking, but these simple rules were taught to me, and they make the PCB easier to follow and often results in not requiring plated through holes (for simple designs) at all.

But its a great artwork for your first PCB.

Decoupling capacitors go between power and ground, with the capacitors as near the power pin as practical/comfortable.

I still don't understand. The power going to the IC is being drawn through eight pins via the LED's. Are you saying I should connect a pin from the gorund pin to the positive pin of the battery, or to VCC on the Arduino which is what is providing the current for the IC, or what?

I think the answer here is ground to VCC, but I'm not certain. Also, it seems like the only good place to stick a cap that connects between ground and VCC is right above resistors R1 and R2. And that's a rather tight space. Hm.

? why use a surface mount C2, or at least have holes for a non surface mount cap

What are you talking about? C2 isn't surface mount. There's two PTH holes to either side of the label. Is it too small? It's the only footprint provided by Pad2Pad's software that I could find that looked like it was for a ceramic cap.

(Just double checked. A ceremic cap needs one hole between the pins when on perfboard, so it should fit that fooprint, which looks like it was for an axial cap.)

If you can avoid tracks between pins do it.
e.g. track from LED3 to Pro mini pin 23 could go around Pin1

I tried to avoid that, but moving that trace would bring it close to the edge of the board. And I wanted to keep traces away from the edge because I didn't know how precise they'd cut it.

Besides, if routing traces between PTH is bad, then I've got much worse problems to worry about on the screen portion of the circuit where I have about 50 such connections that were unavoidable.

  1. Eliminate Via's when ever possible
    e.g. track from VR1 to via under pro mini could be routed around to pin 24

Once again, that would take the trace extremely close to the edge of the board. I did try to avoid vias, but in that one instance I thought using one was the safer choice. Also it makes the circuit easier to parse.

[edit]Okay, I found I could route the trace on the underside of the board on the inside side of Pot1, so I got rid of the via. There should be enough space between the trace and the top edge of the board.[/edit]

But its a great artwork for your first PCB.

Thanks! Took me long enough to do. I was hoping I could just use the auto router at the start, but it made a mess of a circuit and if i tried to run it on the current setup, as densely packed as it is, it would just fail over and over. I don't know if that's typical of auto routers but the one in Pad2Pad's software at least isn't particularly intelligent.

Probably should have used Eagle. (Though Pad2Pad charges a premium for making boards with gerber files for some reason.)

I'd start again from scratch. Route the power and ground tracks first, using wide tracks. Decoupling capacitors are essential.

You don't need the resistor for the piezo element.

Why larger traces on ground/power?

I agree with the calculations, the "minimum" requirements are met. But, considering basic physics, wider traces -> less resistance -> less heat -> less power loss -> more efficiency -> longer battery life -> less carbon footprint -> etc.
It may also help with EM interference in general as the current is spread over a wider area and therefor lower per area on the PCB.

In simple engineering terms -- bigger is better (at least for power/gnd traces with current).

An important part of

wider traces -> less resistance -> less heat -> less power loss -> more efficiency -> longer battery life -> less carbon footprint -> etc.

is
wider traces -> less resistance -> less inductance

if different parts of a circuit are separated by inductance caused by narrow power and ground traces, parts of a circuit could be bobbing around on different power and ground levels when large switching currents (e.g. the ULN2803) switch.
Martin said that 'wobbly' power and ground is a significant causes of (hard to fix) bugs created during PCB design.

HTH

The reason I don't have wider traces for power and ground is partly because I've got traces going between pads and traces passing diagonally past square pads, both of which set a maximum on how wide the trace can be.

I guess my question is, how wide do you reccomend I make these power and ground traces? .040" looks positively silly with how wide it is compared to everything else. And at 0.050" when routing LED3 to the Arduino's ground pin over Arduino Pin 1, the trace actually touches the edge of the board, that's how close it is at 0.040".

Also, I just notcied the software doesn't give me any warnings about how close my traces get to the corners of those square pads untile they're actually physically touching at 0.050". And shouldn't those gaps be like 0.006" at least? Also, I could get rid of many of the traces that pass close to the corners, but then I'd have to have traces with 90 degree bends in them.

So what's more important, no 90 degree bends, or wider power/gnd traces? And how wide must I really make those power and gnd traces? Do I really need to go all the way up to .040"?

And what counts as a power trace anyway? Traces coming off Battery +? Traces coming off Arduino VCC?

I'd start again from scratch. Route the power and ground tracks first, using wide tracks. Decoupling capacitors are essential.

You don't need the resistor for the piezo element.

I had Grumpy Mike take a look at the schematic for this, and he didn't suggest I needed any decoupling capacitors.

He did however suggest that I needed a resistor on the piezo element. Why do you think I don't need one? Grumpy said the piezo acts like a capacitor, and as such will momentarily appear as a short if I put it directly across two pins.

And on top of that, I'd have no idea how much current the piezo was using, and no control over it. At least this way I know with a 1000ohm resistor I'm only sourcing at most 5mA to the thing.

Also, starting from scratch is out of the question. Besides the fact that I don't see how it would be necessary to make the power and ground traces wider, (Moving a few traces around a bit is sufficient to make them fit.) I simply don't have the luxury of doing so. I'm already way over my budget for time and money on this project.

I've never seen a resistor used with a piezo unit like that, the capacitance is minimal.

You definitely need decoupling capacitors, and I'd include a bulk capacitor, something like 47 uF, across the supply as well. The supply and ground tracks should be a lot wider.

The big reason for bigger power/ground is transients. When the logic levels switch, the parts consume power; much more than the steady state. You want the power and ground not to move at all when the outputs are switching rapidly. The inductance is the problem, as noted.

Decoupling is there for the same reason: the inductance of the traces is big enough that the power needed for a lot of output switching causes a dip. The capacitor supplies the power to the device during the switching period. Usually, you use a mix of big and small capacitors. The suggestion of one 47 ufd for the board is good. Then use a mix of .1 and .01 for other parts that have lots of switching outputs. Get the power and ground as close to the chip pins as possible. For decoupling, the ground matters as much as the power. The ULN2803 is a prime candidate for decoupling. The ideal is one per chip, but that is probably overkill.

Unlike prior advice, I usually prefer vertical on one layer, horizontal on the other - you get much more trace in less area that way. I would route power and ground first as many have said.

I've never seen a resistor used with a piezo unit like that, the capacitance is minimal.

I'm just going by what I was told by Grumpy Mike, and he seems to know what he's doing. :slight_smile:

You definitely need decoupling capacitors, and I'd include a bulk capacitor, something like 47 uF, across the supply as well. The supply and ground tracks should be a lot wider.

I don't know where to put decoupling capacitors. I'll look into including a spot for a 47uF cap across the battery supply though. Not like I have to include it if it turns out it's not needed.

The big reason for bigger power/ground is transients. When the logic levels switch, the parts consume power; much more than the steady state. You want the power and ground not to move at all when the outputs are switching rapidly. The inductance is the problem, as noted.

I'm increasing the trace width for the power and ground to .030", twice the width of the other traces. If I increase it any more than that I get too close to the corners of the square pads on my battery connections. (Need a minumum trace seperation of .008" according to Pad2Pad)

Decoupling is there for the same reason: the inductance of the traces is big enough that the power needed for a lot of output switching causes a dip. The capacitor supplies the power to the device during the switching period. Usually, you use a mix of big and small capacitors. The suggestion of one 47 ufd for the board is good.

I'll try to find space to include that then.

Then use a mix of .1 and .01 for other parts that have lots of switching outputs. Get the power and ground as close to the chip pins as possible. For decoupling, the ground matters as much as the power. The ULN2803 is a prime candidate for decoupling. The ideal is one per chip, but that is probably overkill.

One per chip is overkill? I've only got one chip on the board. :slight_smile:

And I'm still not clear on what pins and to where this decoupling cap on the ULN2803 should go. And whether I should use a .1 or .01uF for that.

Unlike prior advice, I usually prefer vertical on one layer, horizontal on the other - you get much more trace in less area that way.

I haven't seen anyone suggest doing otherwise?

I would route power and ground first as many have said.

I'll keep that in mind in the future, but I don't see the point of resdesiging this whole board from scratch. I've already widened the power and ground traces and all I had to do was move a few corners of a few traces around.

Also, I added a bunch of stuff to the design after the fact, and I am working with very limited space. I couldn't route the power and ground traces first because I didn't know all the components that would be on the board. And even if I did, I can't see how I could have a clean layout without a bunch of vias on such a small board if I were to lay out the power and ground traces initially without regard to keeping all the other traces as short as possible.

Plus if I had to route other traces all over the place just for the sake of the power and ground, I'd end up with a board that probably wouldn't work because I couldn't keep track of what was connected to what.

Of course, if it is absolutely vital to have thick power and ground traces that are as short as possible then obviously that trumps any other consideration.

Lastly, I can't tell which of these suggestions are 'best practices' for complicated board, and which are 'vital for it to work' on a simple board like this. I've seen folks build 64x256 led arrays with 6 IC's on a breadboard and they worked just fine with wires going everywhere. I don't see why these short little traces should give me all sorts of problems with noise and capacitance and stuff.

Anyhow, I'll post an update to the circuits once I finish adjusting these power and ground traces and add the spot for that 47 cap. Come hell or high water, I gotta put in the order for these PCB's tomorrow. That it's taken three months to develop these props is ridiculous.

Okay, here's the revised PCB with:

  • Wider power and ground traces (.030")
  • 47nF decoupling capacitor across battery terminals
  • Shortened power trace to voltage regulator
  • Increased distance between traces and corners of square pads.
  • Power trace to LED's routed around Arduino pin 1.


http://raccoonrocket.com/gb/pke/circuit-bottom.png (bottom traces only)