I bought an antique telegraph sounder a while back, and I’ve been working on a project that will click out emails from my Etsy store when I get an order. I’ve gone through several generations, and come up with something I really like. What follows is a description of my process for going from concept to finished piece. The code & PCB are open-source, and can be found on my github.
Generation 1 – Paper
The end goal I had in mind was to be able to push messages over the network, and have the telegraph sounder tap them out in morse code. I’ve used Arduino as a platform for similar projects before, but wireless communication with the Arduino is either a pain or a significant cost, so I targeted the Raspberry Pi instead. I found a blog talking about the required electronics to make the sounder work, and I worked it out on paper using only a few components.
Generation 2 – Breadboarding
The next step was to get the first prototype. I played around with my circuit on a breadboard until it worked (I went through a few iterations while trying to get the switching mechanism working correctly). I also wrote the code required for the Raspberry Pi.
Generation 3 – Protoboard
I updated the paper schematic, based on the final state of things on the breadboard. There’s a fairly slow turn-around on getting PCBs made, so before I went down that road I set aside the breadboard, and recreated the circuit (on protoboard this time), using the latest schematic. Once that was working, I left it hooked up to the telegraph sounder, and started transferring the design to Eagle CAD, so I could get some real PCBs made.
Generation 4 – PCB, No Custom Parts
In order to get a proper PCB, I needed to put the project into Eagle CAD (I used the free version). First I entered the schematic, which was a fairly straightforward process. Next was to do the layout on the virtual board, which involves choosing a board size, placing all the parts, and working with the autorouter to lay the traces. Eagle does a lot of the hard work, but there’s still a fairly steep learning curve, so I knew the first draft wouldn’t be perfect (this was my first Eagle project).
I use OSH Park, and I like them a lot. They take the Eagle files, get them fabbed, and mail me PCBs (about a week and a half total). Three boards was under $8.
When I got the first batch, a few components didn’t fit right (the terminal header was way off, and I had to just solder wires instead), and the socket that connects to the raspberry pi had to be mounted on the underside of the board (not shown) because I had mirrored it in Eagle.
Generation 5 – PCB, With Custom Parts
Having the first PCB in hand, it was easy to fix layout problems by going back to Eagle and tweaking the board design. For the parts that didn’t fit (the pins were the wrong spacing), I broke out my calipers, and created some custom parts. That was complicated, but I did my best and sent the whole thing off to OSH Park again. When it came back, everything fit nicely, and the board worked great when I hooked it up to my raspberry pi. It was an exciting moment :)
Generation 6 – PCB, Final Version
There was one nit-picky problem I had with the board, which was that the ribbon cable coming out of the socket was oriented such that it went over the PCB (covering the LEDs). You can’t really see it in the picture above (because the ribbon cable isn’t in the picture), but if you look closely you’ll see that the notch on the socket faces inward (down, in the picture). I reversed the part in Eagle, and sent it back to OSH Park. Here’s the final, working board (with the ribbon cable going away from the PCB, instead of over it as in the previous generation):
Generation 7 – A Case
I have been playing around with laser cutting at the local hackerspace in Chicago (Pumping Station: One), so it was easy to put together a box using an online generator. I added some holes and some text to the front, and came up with this:
Generation 8 – Final Touches
I got some antique-y looking wire from Sundial Wire and used it to connect the raspberry pi to the sounder (because I think it looks nicer). After cutting a small hole in the back of my bookcase, I was able to put the sounder in its permanent home.
And here it is in action:
Parts & Suppliers, and Support Summary
I worked with quite a few vendors along the way. For most electronic components, I use Mouser and Digikey. I got my Raspberry Pi from Newark, and the Raspberry Pi accessories (wifi, GPIO breakout) from adafruit. The PCBs were fabbed by OSH Park. The wood for the case came from LaserBits, and was cut (by me) at Pumping Station: One. The wire was from Sundial Wire. I had help with the circuit design on the adafruit forums.
It’s taken about 9 months (though I was working very on-and-off), but I’m really happy with the result. This is probably the most “finished” a project that I’ve ever done, though with everything I’ve learned the barrier to getting a nice PCB and a simple case is vastly diminished, and I’m looking forward to my next project (an electronic piggy bank).