I don’t know about you, but after painstakingly building a simple circuit to control a Raspberry Pi soundboard for my kids’ train set (inspired by this Make Article) on a breadboard and debugging code to make it work how I wanted, I got a little too attached when it came time to break it down and re-use the breadboard for my next creation. I knew full-well I would never come back the the soundboard if I had to re-wire the whole thing every time.
A Raspberry Pi for each project was impractical, as was a drawer full of breadboards with loosely attached components that toddlers would love to mangle. So, I set out looking for a better way to immortalize my creation and make it more modular so I could easily switch back and forth between “completed” projects. Here were my options:
Etch my Own PCB
Etching PCBs at home looks like a really fun and worthwhile project. I want to give it a shot at some point, but I didn’t like the idea of the chemicals with kids in the house and I wasn’t too keen on drilling so many tiny holes without a small drill press. I also didn’t like the idea of trying to go double-sided without through-plated holes (more in this later). Next!
Stripboard or Dead Bug Style
Dead-Bug style or Stripboard seemed to be quick and dirty approaches: boards are cheap and available locally, but it just wasn’t working for me on this project. I had a hard time routing and trimming leads to the right length or getting components to stay in, and I was kind of turned off by having to smear big blobs of solder to connect my components. Plus, the final product just wasn’t “pretty” enough because, let’s face it, I wanted to show this thing off! Next!
Professionally Printed PCB
I am not new to CAD but I’m definitely new to designing circuits, so I was instantly attracted to Fritzing.org‘s easy-to-learn Mac App. Fritzing lets you drag and drop components from your virtual Parts Bin like you would grab from your real stash, lay out your traces and vias (holes which are through plated for making connections between sides of the PCB) in the top AND bottom views, and see your cost to print in real time as you resize the board. This adds an extra fun challenge of trying to keep the cost down by optimizing your surface area, top & bottom, while taking advantage of the through-plated holes to connect the layers where needed. The software has a wide range of standard components as well as components from leading parts suppliers, and also lets you lay out the IDs of each component or place your own custom silk screening. When you are confident your circuit is complete, just a few more clicks plus your a credit card number and the PCB will be created and shipped straight to your door.
I had a hard time starting with Schematic or Breadboard layouts, as I couldn’t get my components to line up when switching to the PCB view. Instead, I just designed everything in PCB mode without looking at the others and took a gamble that my circuit was laid out properly because I just couldn’t keep them nicely in sync.
After a short — OK, a little long — 2 weeks, I got my boards and they were much cooler than I ever expected! Now I have a pretty, somewhat more kid friendly, plug and play controller that enables me to come back to this project with minimal hassle. Take note of the date of the next production run and get it in by the deadline to help speed up your delivery. Plus, a deadline is always motivating.
If I had to do it over again, I would still design my own PCB and have it printed professionally, rather than an off-the-shelf solution. Next time, I would make a bigger effort on a more sturdy pi->pcb interface to use with this and all future projects to make them much more “pluggable”, like a homebrew ethernet adapter, similar to this Patch Shield, or some variant of a built-in 26 pin ribbon socket to the custom PCB like Adafruit’s very tempting Perma-Proto.
Also, I should have probably left room for mounting holes and since the silk-screening turned out so nice, I would spend some time making the board prettier.
Future Hardware Projects:
- Mount PCB in a wood and plexiglass enclosure
- 3D Printed Pi “Base Station” for my growing collection of custom controllers
- External LCD to display a simple menu of all my programs that match my controllers for further modularity