PCB Design Checklist
In general, but especially as a hobbyist, mistakes in schematic and PCB design cost a lot at the PCB production stage. For a start, there is the obvious cost of wasted PCBs. Not necessarily because you have to scrap a few (designs are rarely that bad), but because you'll eventually want to or have to go back and do it right. Beyond that cost, there's the time you've spent etching and populating the board, and the time you'll spend bodging it to fix what you didn't get right. And finally, there's the unavoidable shame of failure.
To avoid this, here I will compile a list of instructions, guidelines, hints and tips. It can be thought of as a list of mistakes I've made over the years and things that can be done to avoid them.
Schematic Stage
General Items
- From the start, split the design into functional blocks. Document each block, how it functions and how it interfaces with other blocks. For "simple" projects it's tempting to skip this or leave it for later (like commenting and documenting code). Just like you should do when coding, document and group by function as you go. You'll find errors sooner and think more about your design, which should mean it does exactly what you want.
- Don't be afraid to prototype. For circuits that employ a lot of designs pulled from datasheets, it's tempting to just re-create them in your schematic editor of choice and forget them. Take the time to build them on stripboard/breadboard and check they function as intended, especially the interface to the rest of the circuit. Maybe there are impedance/voltage matching issues you haven't considered!
- Obvious one: Check, check and re-check your connections! Especially when connecting busses, a pair of swapped pins can really ruin your day. Eagle (my PCB design package of choice) has a SHOW command which is useful for tracing a net across a schematic, and I'm sure other packages must have something similar.
- On the subject of tools, learn how to make use of the ERC (electrical rule checking) tools that come with your software.
Electronic Items
- Don't leave out decoupling capacitors! In addition, if a component has a recommended decoupling circuit use it! For example, some ICs recommend a small RC filter or bead inductor on their power pins. If you really haven't got space for it, test the function of the component without it to make sure you can get away with omitting it.
- Related to the above, check your reset lines as well.
- Make sure all your digital IO is suitably pulled high/low. Ensure that any ADC inputs won't be left floating at any time (or if they are, that this won't affect the operation of the rest of the design). Check component datasheet for suitable resistor values.
- ALWAYS test analog and AC circuits before finalising the design! And remember : Digital is an abstraction. EVERY circuit is analog.