Detecting DTMF tones from scratch

posted Oct 20th 2011 12:01pm by
filed under: classic hacks

If you’ve ever wondered about the best way to detect dial and DTMF tones from a phone line, [Debraj] is your man.

[Debraj] built a DTMF detector using the Goertzel algorithm. Normally, when we think about detecting tones, we pull FFT out of our bag of tricks. The Goertzel algorithm isn’t as computationally complex as FFT and can be implemented on even the smallest microcontrollers.

For the build, the first thing to solder is a nice audio transformer and some protection diodes. The ring tone from a phone line goes from +35 V to -35 V – a bit more than a microcontroller could handle. A PIC18F4520 dev board was used as the brain of the system with all the code is available on [Debraj]‘s site.

Although implementations of the Goertzel algorithm are a little uncommon, [Debraj] has seen a few interesting projects using this technique. [Debraj]‘s build could easily be modified into a guitar tuner with a few changes in the code, for example.

This project was built as the command and control for a home automation system and from the video after the break, we can’t wait for [Debraj] to get annoyed at the phrase, “To turn on the kitchen lights, please press 1…”

Read the rest of this entry »

A cellphone based Interactive Voice Response System

posted Aug 30th 2011 11:08am by
filed under: cellphones hacks

We’re all familiar with IVRS systems that let you access information using a touch-tone telephone. [Achu Wilso] built his own version which uses a cellphone, microcontroller, and computer.

The cellphone is monitored by an LM324 op-amp with an attached 555 timer chip. When a call comes in the voltage on the headphone output goes high, activating the timer circuit. If it goes low and does not go high again for about 25 seconds the call will be ended. Each incoming touch tone acts as a keepalive for the circuit.

An MT8870 DTMF (touch tone) decoder chip monitors the user input. An ATmega8 microcontroller grabs the decoded touch tones from that chip, and pushes them to a PC via USB. The PC-side software is written in Python, using MySQL bindings to access database information. eSpeak, the open source speech synthesizer software is used to read menu and database information back to the caller.

Not a bad little system, we wish there was an audio clip so we could hear it in action.




Ever wonder where cool interactive museum exhibits come from?

posted Aug 9th 2011 6:05am by
filed under: Microcontrollers

[Victor's] girlfriend works at a museum and enlisted his expertise in designing an interactive detective game for kids visiting the museum. The vision was for the kids to discover phone numbers that they could call for clues. Originally he planned to display the clues on a character LCD, but obviously it’s much neater to hear the clues in the handset of the phone.

Quickly switching gears, [Victor] dropped the ATtiny2313 and started over with an Xmega chip — in fact, it was our recent Xmega post that inspired him to document his project. The microcontroller is responsible for a lot of goings-on. It scans the key matrix for inputs, simulates the DTMF touch tones, reads audio files from a FAT file system on an SD card, and plays them back over the hand set’s speaker. Since most of the hardware is already built into the phones, it was not hard to fit his add-ons inside the case. A simple audio amplifier circuit joins the microcontroller, which is patched into the rows and columns of the keyboard. Take a gander at the video after the break to see the device in action.

Read the rest of this entry »

DTMF shield aimed at ham controlled Arduino

posted Apr 17th 2011 9:06am by
filed under: arduino hacks, radio hacks

[Colin] wanted a way to reliably control an Arduino via ham radio. One of the easiest methods of automated radio control makes use of Dual-Tone Multi-Frequency signalling. To those who aren’t into amatuer radio you probably recognized DTMF as the touch-tone system for telephone communications. [Colin] built a shield that has an audio input and can decode DTMF signals.

The hardware is based around an MT8870 DTMF decoder chip. This is a popular choice for DTMF hardware because it does all of the decoding work for you. Whenever a valid tone is detected it outputs the associated value in binary on four output pins. There is a fifth pin that strobes after each new tone. [Colin's] design offers a lot of feedback for what’s going on with the input signal. The DTMF value is displayed on a 7-segment display (controlled completely in hardware), the value is output on for Binary Coded Decimal pins, and mapped to a set of ten pins which pull to ground to match the digit received.

Simple DTMF decoder pulls numbers from YouTube videos

posted Apr 2nd 2011 5:30am by
filed under: arduino hacks, misc hacks

dtmf_decoder

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.

Read the rest of this entry »




DTMF and SelCall signal generator

posted Mar 29th 2010 2:12pm by
filed under: cellphones hacks

[Rogal] wrote a cell phone application called ToneTool that generates audio tone sequences. It can be used to output DTMF and SelCall sequences which are used by telephone systems and radio-telecommunication hardware. The software is written in J2ME so if you have a cell phone that can run Java apps it will probably work for you. This is like a digital-age Blue-box in everyone’s pocket. But we don’t think there’s too much opportunity for the mayhem seen with the original phone phreaking.

See him generating and sending DTMF commands over an Echolink network in the video after the break.

Read the rest of this entry »

Easy dial telephone

posted Nov 1st 2009 11:20am by
filed under: home hacks

easy-dial-phone

[Taufeeq's] Grandmother needed to be able to call her family members but due to ailing eyesight and memory this was a difficult task. He decided to help her with this by building a telephone that will auto-dial a number at the push of a button. [Taufeeq] built a case to hang on the wall which houses a hook for the receiver and two auto-dial buttons. The buttons are lighted and loosely based on the LED push buttons we covered in January. Housed in a separate box are a microcontroller and a dual tone multiple frequency IC used to dial the numbers. These are patched into a PCB from a standard telephone.

The result looks great and makes using the phone much easier with the simplified controls. We’ve included the demonstration video after the break.

Read the rest of this entry »

Forknife, Android G1 controlled robot

posted Jan 25th 2009 11:17pm by
filed under: android hacks, arduino hacks, cellphones hacks, g1 hacks, google hacks, robots hacks

g1bot

When we first saw [Jeffrey Nelson]‘s G1 based robot we immediately wondered what the transport for the controls was. The G1‘s hardware supports USB On-The-Go, but it’s not implemented in Android yet. It turns out he’s actually sending commands by using DTMF tones through the headphone adapter. The audio jack is connected to a DTMF decoder that sends signals to the bot’s Arduino. He wrote client/server code in Java to issue commands to the robot. You can find that code plus a simple schematic on his site. A video of the bot is embedded below.

Read the rest of this entry »




Hack a Day serves up fresh hacks each day, every day from around the web as well as hacking related news.

Send us your hacks










     




Hacks

Resources