Pulse to Tone Converter for Old Telephones

I am a collector of antique phones. Most all of them are dial phones which will no longer work on most telephone networks or certainly not with any VOIP adapter that I have seen.

Have any of you done or seen a project that uses Arduino to detect pulse dialing and then converts it to touch tone sounds to allow an old phone a new lease on life?

i have seen these two ways.

  1. A module inside the phone that interfaces at the actual dial mechanism and generates tones that mix back into the phone line.

  2. A module that has a modular plug that you plug the phone into which senses when the receiver is lifted and then converts the pulse dialing to the appropriate touch tone frequencies.

I think this would be a fun Arduino project.

Any ideas?

Greg

A bit of searching shows up a few, this one is on adafruit's website:

If you follow the links on that page, AMTEL actually has a technical paper on generating the tones:

AVR314: DTMF Generator http://ww1.microchip.com/downloads/en/AppNotes/doc1982.pdf

i hope you are not considering hooking your project up to the existing commercial land-line telephone system.

Paul

Paul_KD7HB:
i hope you are not considering hooking your project up to the existing commercial land-line telephone system.

Paul

That's the whole idea, though I currently have my dial phone hooked up to a Ooma VOIP adapter. It doesn't distinguish pulse dialing and neither does my land line.

The Adafruit is what I want to do but I am not familiar with that cpu. I'd like to do something with one of the small Arduinos such ATtiny45. it would be my first project with the "tiny" but seems simple enough to do.

The schematics on the Adafruit link will be helpful.

Greg

I work in telecoms and this seem to me like a simple enough project although I can see potential problems for someone not familiar with the telecoms’ system. Is there any specific advice you want to ask me about?

I hope you are not considering hooking your project up to the existing commercial land-line telephone system.

Strictly speaking Paul_KD7HB is right but…

Sparkfun converted a rotary phone to cellular, and incorporated a pulse detection dialer. Google "sparkfun port-o-rotary".

Thanks for offering advice.

If/when I proceed with this project, I will do so on this post. I am sure there will be a need for advice.

Greg

Here is going to be your biggest challenge:

The sounds used for touch tone dialing are refered to as DTMF (Dual Tone Multiple Frequencies) tones. Each number (as well as the "#" and "*") is represented by a pair of tones. For instance, the number "1" is represented by the frequencies 1209 Hz and 697 Hz.

Are you able to program an Arduino to generate two tones simultaneously on the same output?

Paul

The tones must be sine waves, not digital square waves.

Paul_KD7HB:
Are you able to program an Arduino to generate two tones simultaneously on the same output?

The tones must be sine waves, not digital square waves.

Pretty easy to combine two pins with a couple of resistors. The question is, can the Arduino generate enough of a "sine wave" to trigger touch tone decoders. There are many ways to try.

That will be part of the fun. I can experiment with that.

If not, there are a number of DTMF generator chips that can do all the heavy lifting.