Serial via Audio

So I was writing on my thesis when I thought, what could be a nice way to control my arduino!

Having recently watched Dollhouse (Joss Wheadon wohoo!) the idea came to my mind to use a microphone on the arduino to decode an audio-track to serial data! As I recently saw, the Android platforms features a serial to Audio-convertor, which was originally intendet to be used with a modified audio-jack I think. But we could always use the speaker directly!

Some research gave me, the Arduino ADC has a maximum resolution of 9600Hz, which would not be enaugh for a baud rate of 9600 (start/stop bits) but should easily be enaugh for 4800 or 2400. So it should be possible to use a midi-creating-sound-program to send different commands to the arduino. It will most probably not sound nice, but could be the most cheap, widest available method for (one-way) wireless communication.

The great thing about this is, that almost any mp3-player can be used to issue commands!

So what do you think?


-.- I'm not that young actually not to remember modems...

Massively ineffecient OR massively inexpensive! ;-)

It's not about being efficent in any case, its more like adding an interface to a device that naturally hasn't got one. So rather then investing in a smartphone with blutooth capabilities to switch on/off things, I could use my mp3-player.

Has this done before on the arduino? Couldn't find anything about it..

I my opinion, the idea is make sense. I’d correct a math a little:
with sampling rate 9600 sps arduino capable process frequency up to 4800 Hz, but it doesn’t mean baud-rate would be limited with this value.
Using QAM modulation, regular modem can send / receive 33.6 kbits/s bidirectionally, over the voice link 300 - 3400 Hz. So, I’w expect arduino able to reach ~45.0 kbit/s
From theoretical point of view it’s all looks O’K, the same time practical realization would require a speaker to generate a sound wave.
Efficiency and size of the speaker not competitive to other means of communication, for example IR led or RF chip.