The Raspberry Pi Phone This hack takes an old 1960s phone and combines it with the power of the Raspberry Pi to produce a retro smart phone. Each number on the rotary dial is assigned to a function. For example, dial 3 to hear the current time, dial 1 for the latest news headlines or dial 0 to power off the Pi Phone.
I reused the original speaker in the handset. The wires were stripped down and then soldered to the Raspberry Pi as shown in the image below. This means that all audio is played through the original handset, like the classic way these phones were used. Unfortunately I was not so lucky with the original handset microphone, so embedded a USB microphone (connected to the Pi) within the phone case. This enables you to record your Tweets (dial 6) and voice messages (dial 8) and other features.
The Pi Phone is stand-alone and can be powered by either a USB battery or a USB plug which is connected to a fitted USB cable, which trails from the back of the phone. This replaces the old telephone cables. There is also a headphone extension jack which is used to add a speaker to the Pi Phone, so that others can hear what is being said, or you can just share the handset around.
The dial has been recreated with a Laser Cut dial which informs the user of the features and the functions applied to each of the numbers.
1 - News Headline 2 - Weather Report 3 - Current Time 4 - Play Music 5- Stop the Music 6 - Send a Tweet 7 - Check SMS 8 - Record a voice message 9 - Listen to voice message 0 - Shutdown the Pi
Building the Pi Phone:
The first part of the project was to get the rotary dial connected to the Raspberry Pi. This was complex as I had to locate the model of the phone and identify what each of the wires did. There are some schematics out there of old phones which helped and showed which wires to use.
Basically you are looking for the gates in the top right hand corner of this diagram, these connect to the rotary dial. Once connected to the Raspberry Pi GPIO pins, you can poll the inputs and outputs. As you turn the dial a connection is made and this creates a circuit and a current flows.. This can be picked up by a simple Python code. Once you have the pulse values for each number, a quick but of maths converts them into, 1, 2, 3, 4, 5, 6, 7, 8.9 and 10 (the zero). From here the Python code can be used to respond to each pulse value. For example, if the pulse value is 1 then run the News function.
Fitting the Pi into the Pi Phone was also a challenge. I needed to use the Pi3 for the processing power and USB ports but didn't want to damage the old phone. In the end I had to remove some of the original board and components to fit the Pi in. I also bleached the Phone using some peroxide, a see through plastic bag and a lovely sunny day! The only other alteration made to the phone case was a small hole to house the SMS LED indicator. Thanks for reading - happy phoning