Cordless Rotary Phone, Version One

After coming across some of my old rotary phones I wanted to get them working again, but one of the biggest problems with the old phones is they take so long to dial a number that the phone line will go dead or dials the number before you have finshed entering the number.

I needed the ability to dial the number only when the full number hand been entered. This was solved by using a cordless phone, as they usually only dial the number once you press send, this also made it posible to easily make the phone cordless. Using an Arduino for the rotary decoding and my old cordless phone for the rest solved the problem.

image

First things first was decoding a rotary number, rotary phones send a number of pulses out depending on the number selected, this was done very easy by using this code found on instructables, I then edited the code to turn on the corresponding digital output of the Arduino every time it detected a number input.

image

The hardware side was a bit tricky, but the easiest way of doing this was geting the Arduino to “press” the cordless phones buttons. This was solved by using an optocoupler for each button I wanted to press on the cordless phone. This isolated the Arduino from the phone, and the output of the optocoupler would act like a switch.

image

By soldering wires to the buttons on the phone and then to the output pins of the optocoupler, the Arduino could simulate pressing the buttons by turning on the optocoupler.

image

I mounted the old hanger micro switch onto my new control board and used it to send/start a call when lifted and hang up when down, this way you can input the numbers slowly on the rotary pad, and not have the phone disconnect because you are taking too long.

image

image

All together it works very well, how ever I still need to make the bells work, and install a battery for full portability.

The code