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.

Note that prototype shown is not stackable. The final release version will be stackable.


The Ipod dock is controlled by sipping and puffing into the tube connected to the Sip'n Puff Arduino shield in the following manner.

1 Sip or Puff Pause/Play
2 Puffs Track Skip Forward
2 Sips Track Skip Backward
3 Puffs Volume Up
3 Sips Volume Down


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 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.

Note that the drawing does not show Sip'n Puff shield. It uses analog pin 5.


The complete circuit with Sip'n Puff shield.


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.

Pause/Play 0xFF 0x55 0x03 0x02 0x00 0x01 0xFA
Skip Forward 0xFF 0x55 0x03 0x02 0x00 0x08 0xF3
Skip Backward 0xFF 0x55 0x03 0x02 0x00 0x10 0xEB
Volume Up 0xFF 0x55 0x03 0x02 0x00 0x02 0xF9
Volume Down 0xFF 0x55 0x03 0x02 0x00 0x04 0xF7


You can get the source code for the Ipod Sip'n Puff dock from our Github page, located here.


Please help support this project on KickStarter