12
\$\begingroup\$

I'm anxiously awaiting the delivery of my second set of custom designed PCBs from BatchPCB.

The first board I designed was pretty darn simple and didn't have any problems.

This second set includes a full on arduino compatible board plus two shields for it. Somehow I suspect I made a mistake somewhere.

My question is: what sorts of things have other folks gotten wrong? When I start debugging why that board doesn't work, what kind of things should I be looking for? What are the first things that you check?


As it turns out, my boards have two problems. The first is that there's a cap too close to the ISP header. I just didn't allow enough space. The second is that the holes I specified, while large enough for all my normal through-hole components, are too small for breakaway headers to fit into without manually reaming them out a little bit (almost like it's just the thickness of the plating layer that covers the copper). Other than that, everything is good. I very carefully checked all the power connections before doing anything to make sure I wasn't about to short something badly, and held the various boards up to the light and verified alignment of stacking headers.

\$\endgroup\$
19
\$\begingroup\$

After you make sure power/ground aren't shorted, make sure that any silk screen or pin 1 markings for polarized components are correct - you don't want to go soldering that kind of stuff in backwards. After that it's really kind of random.

I was involved in bringing up a number of multi-layer boards over the years (not my designs) and we had pretty much any kind of screw-up you could make - traces that didn't go where they should, traces that simply weren't there, pads that weren't connected to their traces, etc, etc. I once even saw an issue where a broken trace was caused by the guys who built up the board gripping it wrong with pliers to break off a break-away section.

We were doing high layer-count designs, so we also had a lot of internal layer foolishness that you aren't going to see on a 2 or 4 layer board (registration can be...interesting when you've got 10 or more layers).

Once you get past the power/ground thing, you're probably not going to have too much trouble. Just take your time, test each bit of functionality one by one, and you should be good to go. If you're feeling paranoid, you could try building up the board one bit at a time (first put on and test the power, then the CPU and it's communications.

If you're feeling REALLY paranoid, you can sit down with the schematic and a meter and buzz-out the entire board. But unless the board is really small, that's gonna take a while.

You definitely want to get the main board working before you start on the secondary boards.

Good luck!

\$\endgroup\$
17
\$\begingroup\$

Common non-obvious problems that crop up specifically with Arduino shield PCBs:

  • Not connecting the Gnd pins on the analog side with the Gnd pin on the digital side
  • Component placement makes them short against metal of Arduino (USB jack & ISP connector usually)
  • Headers flipped 180º (digital 7 -> 0, 6->1, 5->2, etc.)
  • Bad header spacing so it the shield doesn't plug in to Arduino
  • Board larger than Arduino, making Arduino+shield assembly not fit enclosures

Many of these errors can be discovered by printing out the PCB (both top & bottom) on paper at 1:1 scale, cutting it out, and laying it on top of an real Arduino. It makes it physical.

\$\endgroup\$
  • 8
    \$\begingroup\$ +1 paper: I knew one designer that always, before sending the files to the PCB fab, printed out the files at 1:1 and cemented it to cardboard, cut the cardboard to the size and shape of the PCB, and physically put every component of the final PCB onto this fake cardboard PCB. More often than I care to admit, he found that my PCB layouts tried to put connectors, large caps, and other parts in overlapping locations, much like teleporter experiments gone badly wrong. \$\endgroup\$ – davidcary Apr 6 '11 at 23:02
  • \$\begingroup\$ @davidcary care to expand that into a full answer? I'd love to hear more about that approach. \$\endgroup\$ – Kelly S. French Feb 26 '18 at 16:26
7
\$\begingroup\$

First thing I'd check is make sure Power and Ground are not shorted. Should probably check this again after soldering the components, just to be sure.

\$\endgroup\$
7
\$\begingroup\$

When you start populating the board the first thing you want to do is to make sure all the chips get power (build the PSU section first and then make sure it is not shorted, then measure all the power pins for the chips get power). Next thing you want to do is to measure every "output" pin on chips that they are not shorted to anything because that will kill them. And generally building everything in sections and making sure every section works by itself is a good practice.

\$\endgroup\$
6
\$\begingroup\$

I have been pretty lucky with PCBs that I have sent to fab houses, though I verge on the paranoid when I am preparing the design.

Big rule as said before is begin with a schematic. Once that is correct, the software will to an extent look after you. I personally use DIptrace which includes error checking tools, even in the free editions. I am pretty sure that most of the packages do.

If you are designing Arduino shields it might be worth looking at the Fritzing Project. It is software that allows you to design either in schematic, breadboard or PCB layout specifically for the Arduinio. Templates are already there for board sizes and pinouts.

I have not done more than play with it, and it does seem at first glance to be a little basic PCB design wise. However it also seems very convenient.

\$\endgroup\$
4
\$\begingroup\$

One of the best methods to creating an error free PCB is to create a schematic first. A schematic will give you a better representation of what you're trying to achieve. Then you can check the PCB against the schematic which will be easier and many PCB apps now can check against your schematic to make sure that you have everything connected properly (or at least the same way it was in the schematic).

\$\endgroup\$
2
\$\begingroup\$

Make sure all the mounting holes are in the correct location. Also check all the components that need to poke through the enclosure such as LEDs and switches and connectors are in the correct location.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.