A friend of mine is a recording engineer at Tiny Telephone, and when they were expanding to Oakland he came to me with a project: A backer had gifted them a huge Soviet boat anchor of a phone, and could I make it do something cool?
We talked about it and agreed that being able to dial a number and get back a song would be pretty neat.
Rotary phones are fun input devices, and well-suited to microcontrollers because they are easy to read, built to survive nuclear war, and can be interfaced with just two input pins. For this project I wanted the experience to be as phone-like as possible to make it that much weirder. :) So I made sure to leave the shell of the phone intact, and used the junction box attached under the phone to house all the additional electronics and battery-both for asthetics, and because this box is easier to open to change the battery.
UX: When the handset is off the hook, a looping dial tone is played until a number 1-99999999 is dialed. If the number corresponds to a song (e.x. 8675309 = Jenny, 4 = 4) the song is played until it ends and returns to the dial tone loop.
If you dial an unmapped number, the error signal is a russian/english wrong number recording. It fits with the provenance of the phone, and is good for getting a surprised laugh out of people.
I rigged up the phone with an arduino in time and got it onto the wall for a pre-opening party where it was a great hit. Thanks to Jacob for bringing me this project, and Steve for finding most of the songs!
Here's my recipe for a dial-a-song phone (local use only, can't dial out). This works, and well, but there are probably more elegant solutions...let me know if you come up with any!
- One rotary phone
- DC Boarduino
- Adafruit Music Maker
- SD Card
- Misc wire - I'm partial to salvaging old CAT5 cables.
- 9V battery, holder, barrel jack
The Boarduino has a few functions: reading the dial and hook inputs, controlling the Music Maker, and providing a 5V power source to the same. The Music Maker just makes music, it is a MP3 decoder and takes its commands over SPI.
Hookup between the phone and Arduino is easy - connect the hook switch and dial switch to their own I/O pins and ground, connect the speaker in the handset to the MusicMaker and that's it! Add a dash of code and you're there - I'm not going to include the code here, since it's mostly just a big table of songs (and I'm not a programer, so it's not the prettiest code).
Hope this inspires you to do something neat with a rotary phone!