While many of us have banished land line telephones from our houses, there are still quite a few people who utilize POTS lines today. These analog phone systems use Dual Tone Multi Frequency (DTMF) signals in order to audibly represent all of the keys on a telephone keypad and place calls. [Brad] over at LucidScience decided that it would be useful to have a DTMF decoder on hand, and got busy building one.
His DTMF decoder box uses a CM8870 DTMF decoder chip, which you might assume is all you need to get the job done. This chip performs its duties very well, outputting a 4-bit binary code for each button press it registers, but that doesn’t do a whole lot of good without being able to represent those codes in a meaningful fashion. He first built a breadboard decoder circuit that would light 1 of 16 LEDs depending on the detected button press. This was well and good, but he decided that an Arduino-driven LCD display would work far better.
When he was finished, he had a compact decoder box with an LCD display, which accepts input from either an RJ-11 cable or an audio jack. He says that the audio jack is particularly useful for decoding tones from computer audio, such as YouTube clips. [Brad] praises the CM8870 chip, stating that it can pull phone numbers from pretty much any audio or phone signal you throw at it, regardless of quality. We think it would make a great basis for a telephone-based security system, if that was something that appealed to you.
Be sure to stick around to see his DTMF decoder circuit in action.