DTMF Robot Makes Rube Goldberg Proud

Sometimes you start building, and the project evolves. Layers upon layers of functionality accrue, accrete, and otherwise just pile up. Or at least we’re guessing that’s what happened with [Varun Kumar]’s sweet “Surveillance Car Controlled by DTMF“.

In case you haven’t ever dug into not-so-ancient telephony, Dual-tone, multi-frequency signalling is what made old touch-tone phones work. DTMF, as you’d guess, encodes data in audio by playing two pitches at once. Eight tones are mapped to sixteen numbers by using a matrix that looks not coincidentally like the old phone keypad (but with an extra column). One pitch corresponds to a column, and one to a row. Figure out which tones are playing, and you’ve decoded the signal.

Anyway, you can get DTMF decoder chips for pennies on eBay, and they make a great remote-control interface for a simple robot, which is presumably how [Varun] got started. And then he decided that he needed a cell phone on the robot to send back video over WiFi, and realized that he could also use the phone as a remote controller. So he downloaded a DTMF-tone-generator app to the phone, which he then controls over VNC. Details on GitHub.

Yeah, that’s right: VNC over WiFi controls an app on the phone that makes two tones out the audio jack, is decoded by a DTMF IC, and the (parallel) binary output is fed into an Arduino that serves as the brains of the bot.

In the end, it looks Rube-Goldbergian, but using the phone’s audio out as a control signal is actually pretty clever. The phone-to-Arduino interface is the tricky part, after all. DTMF is an easy standard to work with and it avoids having to go through the hassle of a USB or Bluetooth device, for instance.

We love DTMF. With sixteen signals, it’s just a lot cooler than the Kansas City tape standard and derivatives, and there’s a whole (by now partially defunct) infrastructure built up around it. Bring on the DTMF hacks!

11 thoughts on “DTMF Robot Makes Rube Goldberg Proud

  1. Way back in college I used DTMF as a grid to know the position of our robots. I had coils transmitting underneath the table and each robot had a receiving coil. The tones could be received and decoded to know your position on the grid. It worked great when testing out single positions but when all the tones were transmitting there was strong coupling between all of the unshielded wires. It was a great fail but I learned what cross talk was!

  2. Nice use of that decoder, I just finished building a batch of DTMF generator/detectors (all one IC) that connect to arduino using the MT8888CS1 and MT8888CN1, at the time I cleaned out Mouser and Digikey of all SSOP and SOIC packages!

  3. I think he should go one step further, pull the vnc up on a touchscreen device. Then make a hand robot that controls the dtmf, then control that robot via the buttons on a playstation controller (left button ultimately makes the robot steer left).

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.