I picked up a telegraph sounder on ebay this week. I don’t know much about its heritage, but it definitely looks vintage. I wrote some code (see below) to get my Arduino to clack away on it. In the video, the sounder is tapping out the Gettysburg Address, which is the example text in the code.
How Telegraph Sounders Work
Mechanically, they are very simple, which is the reason that, even though they have moving parts, you can still find old ones that work quite well. The way mine works is that there is a lever, fixed at one end. Halfway down the lever, there is a cross-bar which sits just above two large electromagnets (one on either side). When the magnets are activated, the lever is pulled down, causing the far end of the lever to hit a stop on its underside. When the magnets are released, the bar raises (due to a spring), and hits a stop above it. On both the up and down motion, the stop it hits is metal, and gives a satisfying clack.
I found some great tips on this blog, but to be honest I kinda half-assed the electronics and just hooked it directly one of my arduino’s digital output pins. The voltage is a little higher than suggested by the blog, and the current is a little low. I’m not sure how bad this is (it works). Hopefully running it for a few minutes like this doesn’t harm the Arduino or the sounder. I have a larger project in mind, and I’ll figure out some saner electronics for it then.
Update on electronics, from the adafruit forums:
The digital output pins are good for about 20mA. A bigger danger here is the kickback spike from the coil. You should use a transistor to handle the current and a diode to snub the spike. Search for circuits to drive a relay. They have exactly the same issue.
The code is open source, and available on github. I followed the protocol notes from wikipedia, but if there’s something inaccurate I hope someone will let me know.