Sip'n Puff Ipod Dock
Here is an example using the Sip'n Puff Arduino shield to make an Ipod dock. The Sip'n Puff Arduino shield is currently a Kickstarter project. If you like this project and would like to see more products like this one, please support our project on Kickstarter and tell all your friends about it.
The Ipod dock is controlled by sipping and puffing into the tube connected to the Sip'n Puff Arduino shield in the following manner.
This example is built using the 3G accessory protocol in simple remote mode. This should work on any Ipod 3rd generation or higher. In this example I used a 5th generation classic Ipod. I'm not sure if the 3G protocol will work with the current touch Ipods or IPhones.
Before you can send commands to your Ipod, you will need a few simple pieces of hardware. The first is a PodBreakout board (unless you can solder .5mm pitch direct to an Apple connector. The PodBreakout can be found at podgizmo.com or other on-line electronic stores You will also need a 500k Ohm resistor to indicate to the Ipod that it has a dock connected to it. This resistor connects to the Ipod hardware indicator (pin 21). I used two 1M Ohm in parallel since I had them on hand. The only other thing to consider is that the Ipod is 3.3V and your Arduino is 5V. To solve this problem create a voltage divider with a 10K Ohm and 33K Ohm resistor. Connect the voltage divider to the Ipod rx (pin 13). Hook up your serial GND to Ipod pin 11 and you're done.
The Ipod uses a standard N,8,1 serial port running at 19200 baud. Once you have this setup, you can start sending the following packets to control your Ipod.
You can get the source code for the Ipod Sip'n Puff dock from our Github page, located here.