Check out the update log bellow, to see whats happened:
With the demise of the pay phone, they are becoming more and more accessible for a good price. Its funny to think that once upon a time, you couldn’t walk 2 blocks without seeing them, now finding one when you need it is next to impossible. In 2008 there were 95,000 pay phones in Canada, in 2012 that number had dropped to 70,000 (quote from CRTC website).
It is unfortunate, but in a past, I watched over 8 tons of pay phones come in to a scrap yard. I couldn't touch any of it...
Well, being a pay phone enthusiast I had to do something. Make them more usable. This article will be my attempt to do that. Because I do not want to step on the toes of the current owners of the IP, I will not be attempting to hack the main board inside the phone, but rather how to repurpose the generic parts that are inside the phone that make a payphone nothing more than a fancy looking analog phone. We will also explore the display. VFD displays are a generic part that you can buy from adafruit or solarbotics or a thousand other places. We will also explore the coin validator, but again it is no different than any of the other coin validators that exist for sale on those sites. What sets this payphone apart is its unique main board, with voice synthesis and simulated dial tone and sorry its beyond the scope of this article. I think you would need a working payphone to be able to get that figured out anyhow.
The information I will be showing here is information you can gather with a multimeter, Logic analyzer and a disabled pay phone. Just power on the phone causes it to do a health check on the internal components, this is the source of 90% of this information.
Most pay phones require the use of a pay phone provider to have a server that will allow communications. It is not worth trying to simulate the server. I don't think it would be possible unless you had the co-operation of the provider.
First off, I need to set your expectations, I am not here to provide you with a way to build your own payphone to earn money. This is just meant for educational purposes. I cant tell you how long I wondered how all the internals of the payphone worked!! I want to do this conversion so others can learn from all the hard work I put in to it.
Because Nortel pay phones depend on a mainframe to control them, it does not make sense to work with the electronics inside. But we will cover it from a high level, just for good measure. We will be talking about gutting the phone, and replacing all the control electronics.
-Install an analog phone inside the pay phone to provide dial tone
-Install an Arduino to control the VFD (2x20 Noritake CU20026SCPB-T23A) display
-Map the keypad to a conventional analog phone keypad.
-Setup a VoIP Analog Telephone Adapter inside the phone, just in case you have VoIP and want to make your phone portable (Cast iron top, bottom, Aluminum face plate, and like 4 layers of steel inside the cash box, maybe,,, not so portable)
-Review the communications protocol for the coin validator. I set mine up so my kids could use it as a piggy bank, the VFD would display current balance in the vault.
I have seen so many people buy Nortel pay phones thinking they can just plug it in and away it goes. This is dishonest of the reseller not to mention that these phones in particular are hard coded on the eprom to prevent them from working without a provider. Please take caution, if you want to just plug it in and go, it DOESNT work that way, in fact unless you got it from Nortel with unlocked software (who knows why it existed, but an article I found called it Demo Code?? maybe for trade shows?) your shit out of luck. If you follow this article to bring a phone back to life, you can do all sorts of things.
I can not stress enough, this information is only for educational purposes and should not be used to actually modify a payphone without the permission of the current owner of the IP.
Section 1: Modify an analog phone to replace main board.
Section 2: Convert the keypad to work on an analog phone.
Section 3: Setup an Arduino to run the VFD display: Convert the keypad to work on an analog phone
Section 5: Coin acceptor and Validator for piggy bank.
Section 6: Modem addon to give call display and enable the speed dial
2014 UPDATE LOG:
3/22 - Update the main page and sub pages to have a little more detail. I was given a TTY keyboard from a millennium payphone, I redrew the keypad in autocad, and used my CNC to make a new keypad so that I can a hand held keyboard to reprogram the display on the front of the payphone. I will provide those drawings and information later.
3/15 - Created a notes section on the page for ideas and noting things I have seen while working on the phone.
3/11 - Started working on converting the keypad so that it goes in to an Arduino. This will be because the arduino will dial the phone using a analog phone unless you hit one of the speed dial buttons. That will be handled by a USR modem, this will also allow the menu buttons bellow the VFD to be used and the modem will add the function of in bound call display to be put on the VFD. The issue is most analog phones use a "Keypad chip" that scans the pins on the keypad, the trick is having the arduino feed that information back in the chip by using transistors. I want to stay away from relays, even solid state ones.
3/3 - Updated the Modem section 6 with a sample code to get Caller ID from a modem and dump it in to the Arduino ATMEGA2560. I have no doubt there are better ways, please feel free to let me know and I will update the page.
2/28 - Now able to communicate with a modem using a DTE to TTL converter. I could find the pins on the modem, but really. WHY! The sample code only shows how to get basic serial coms working. Still need to parse the data out and dump to VFD. I am still debating on if I want the modem to do the dialing. This would simplify the keyboard interface. But I dont want to loose the DTMF tones as I dial. The modem will be used for all speed dial buttons (shown in the pic above as 5 buttons, but under the plate you can have up to 10.) Removed the code from Section 6 and put it under Section 3. Then reused Section 6 to be the modem section.
2/27 - "I CRACKED THE HIPPO CAMPUS!" I got the coin validator working. Long hours spent looking over logic analyzer logs... UGG!! got it though! Thanks Mark for helping me with the serial connection...
2/17 - YEAH! Got the VFD working, found some additional information online AFTER I got the stupid thing working lol!!!
2/15 - I think I MIGHT try and reverse engineer the CPU, REALLY don't like the idea, but it would help others... Need to think about it.