Programmer Mike Tsao has devised a clever method to program an Arduino board using sound. It's called TribeDuino, and it uses the Arduino's audio sensors to detect the time elapsed between peaks of sound — short periods are interpreted as binary ones and long periods as binary zeroes. It's similar to how early modems worked, except that in this case, the audio is directly programming instead of just passing data through. To test the proof-of-concept, you just need to connect an Arduino to an MP3 player and play Tsao's firmware audio file.
Tsao says that he got interested in the project because he wants to "build an Arduino development environment that works with minimal hardware" — he says it would be cool to be able to "develop a sketch on a smartphone web browser or non-jailbroken tablet, then program the Arduino using just the headphone jack." We think that would be pretty cool, too.
Photo credit: Nicholas Zambetti (Arduino)