☯ ☯ ☯ ☯ ☯ ☯ ☯ ☯ ☯
A payphone is hard to hack. WRONG!
A payphone is expensive. WRONG!
A payphone is hard to get. WRONG!
When I first started this project I suspected payphones would be hard to get, expensive, and a hassle to hack. I was wrong on all three! Online I was able to get city-grade cast-iron/stainless payphone for relatively cheap. And the hack, surprisingly, turned out to be quite elegant :)
With my payphone hack I created a the 90 From The 90's Boombox:
With this Instructable you will learn how to control the keypad, switches, and audio (both in and out) on a payphone. You can do A LOT OF FUN HACKS WITH THIS. The 90's boombox is just one basic example to get you started :)
Step 1: Parts & Code
- Payphone. payphone.com was the first site I checked. So it is possible there are even cheaper options out there.
- Payphone mounting bracket. Remember these phone are cast iron, thus insanely heavy! I would NOT recommend trying to mount them without the bracket.
- Adafruit MP3 Maker Shield.
- Arduino Mega. The MP3 Shield uses a LOT OF PINS so the smaller Arduino's will not work well for this hack.
- Adafruit 20W Amplifier.
- 20W Speaker. Adafruit sells this one.
- 3W Speaker. Use this if you just want ringing but no music.
- Typical stuff: wire, headers, tape, soldering iron, etc.
see attachment. ** Give it a read! Lots of helpful comments in there. **
Step 2: Gut Your Phone
Wow look at those guts! The good news is our modern shields and microprocessors allow us to do away with all this antiquated junk.
There are 4 things to remove:
- The coin machine. Use the release at the top.
- The main CPU. Use the giant flathead screw.
- The weird grey thing. Just pull on it.
- The wild screw terminal thing. Cut all the connections leading to the screw terminal. We don't need any of them. If you have an older style phone you will need some brute force to remove this. If you have a newer style you can just unscrew it.
If you are feeling ambitious I believe it is possible to also hack the coin machine, but I only saw it as a hassle for people using my phone.
** Remember I hacked a few of these phones so some pictures may look slightly different because all the phones internals are slightly different. Even though the internals are slightly different all phones connections/routing are identical. **
Step 3: Intercept the Keypad
The most critical part of this hack is to intercept the keypad. Thankfully the phones use a conventional 8pin-keypad-style circuit, which makes this extremely easy :)
Pull out the keypad and start taking apart each layer. The only layer that is challenging is the plastic tan-colored enclosure. It is snap fit so you have to grab a flat-head screw driver and use brute force to detach it.
Just like the last part you can cut all the free wires. We don't need them.
** Remember to cut the grey ribbon cable or the keypad will not work as expected. **
Solder 8 wires to the pins on the keypad circuit.
Every phone has the same pinout on the keypad (numbered left to right).
1 – ROW 1
2 – ROW 2
3 – ROW 3
4 – COLUMN 0
5 – COLUMN 1
6 – COLUMN 2
7 – ROW 0
8 – NA
All the keypad code has been beautifully packaged into an Arduino Keypad Library. So all we need to do is connect pins to our Arduino. Specify the pins in the code. And the keypad should be working!
For our code we are using pins 30-36 of the Arduino Mega.
COLUMN 0 – pin30
COLUMN 1 – pin31
COLUMN 2 – pin32
ROW 0 – pin33
ROW 1 – pin34
ROW 2 – pin35
ROW 3 – pin36
NA – GND
Step 4: Intercept the Handset Switch
We need to know when someone picks up or hangs up your phone. We can achieve that easily by intercepting the handset switch.
Each phone has four switches that are triggered during a different point during the travel distance. I am not exactly sure why they needed four. But we only need one!
I tried to identify the switches that are triggered around 50% travel.
In the newer designs you can complete remove the circuit, but in the older designs the circuit is difficult to remove so I just left it connected.
For newer (more common) designs it is pin 1 & 3. For older (spiderweb filled) phones it is 2 & 3.
** The polarity of these is inverted. For new phone it will for LOW-HIGH. For old phones it will go HIGH-LOW. **
Connect the two cables to your Arduino Mega. One to Pin 40 and the other to GND (doesn't matter which order). Set pinMode to INPUT_PULLUP.
Step 5: Intercept the Coin Release
The coin release switch is not critical to the functionality in any way but is EXTREMELY easy to intercept with a basic roller style switch, so why not.
On my payphone, when the user pulls the coin release it shouts "GET A JOB!".
Step 6: MP3 Maker Shield
Here is an amazing step-by-step by Adafruit.
** Remember to close the three jumpers so it will work with an Arduino Mega **
The shield has 3W outputs, which work perfectly for the speaker in the handset. Connect ONE of them to your handset speaker. And if you are just using a ringer and no music, connect the other one to a 3W speaker.
The handset has four cables connected from it. Two from the mic and two from the speaker. They are always different colors and never labeled so the only way to figure out which ones go to the mic and which ones go to the speaker is through trial and error. What I did was simply play a track from the shield and then plugged in different combinations until I found the two for the handset speaker.
Note that I did NOT use the mic for my project, but as you probably know, the MP3 Maker Shield has a mic input! So much hacking potential right there :)
Step 7: Boom Boom 20W Amplification
If you just want to play the ringing sound of the bell, a simple 3W speaker hooked up to one of your output channels will be good enough.
Here is a great step-by-step tutorial for the amplifier by Adafruit.
** Remember to use line from the MP3 Maker Shield to the amplifier **
So because this was a '90s boombox I was purposefully going for a LOFI '90s sound. I degraded all the sound files to 128kbps and ensured there was clipping in all of them. I really wanted to stay true to the era. Gluing the speaker and adding a scrappy cardboard/felt enclosure is not going to help with that HIFI sound you are probably after. If you have any tips to make the sound HIFI, please share them in the comments. About 60% of the decibel level was lost inside the enclosure because I drilled my speaker holes way too small :( That said, the volume level definitely goes high enough to annoy everyone in my office with dreadful '90s music.
** Drilling cast iron is slow. Recommend a good drill bit. **
Step 8: Ring Ring Rangefinder
If you want to make the phone ring when someone walks by you will need a rangefinder.
In the code, you can tune the distance for triggering the ring.
RED – 5V
BROWN – GND
ORANGE – ANALOG SIGNAL A8
Step 9: Mounting & Power
Inside the phones safe you will find the mounting hardware.
As I mentioned earlier, the phones is extremely heavy. The bracket is imperative. I was able to mount to drywall thanks to the bracket.
As shown in the images you can route power through the back and into the phone.
If using the 20W speaker it is important to have 12V and >1.5A.
Step 10: Done!
Successful hack! Easy right? Let's celebrate!
** please share your payphone hacks in the comments **