This instructable is now slightly old and a better machine has been made with lower cost parts and much better software that automatically allows you to "pair" new cards with new tracks as they are added to the iPod playlist.
iPod playback track selection simply by putting RFID "bricks" on a table.
- An iPod Touch controlled by Arduino via the serial protocol intended for use by docking stations and other peripherals.
- RFID (Radio Frequency Identification) cards are embedded in small plastic blocks with album cover art on the face of each block.
- Advanced serial mode is used, giving 2-way communication between Arduino and iPod and ability to select individual tracks by number
- All built into a small wooden table.
- Place an RFID "block" in the centre of the table and the selected album plays automatically, no conventional controls or menus at all
I was trying to make a music player for a disabled child who is unable to load and operate a CD player or negotiate the small buttons and menus of mp3 players. Original plan was to make a basic big-button mp3 player with just forward/back buttons and maybe 100 songs on it. I then found this website by David Findlay which documents his experiments in acquiring control of an iPod via its serial connection: http://davidfindlay.org/weblog/files/tag-ipod.php
Before going further I must say David has helped me a lot with this, completely rewriting the code after seeing my clumsy attempts at merging RFID reader code with his Advanced Remote serial code.
There are several serial protocols which the iPod can understand. The big advantage of the "Advanced" mode is that instead of just giving you virtual forward/back, volume buttons and so on, it allows you to select tracks from a playlist by their number.
- Therefore the Arduino can select the first track on an album and the playlist will start playing from that point onwards.
- Therefore I can use an RFID card, one for each album in the iPod playlist, to "tell" the iPod the track number to start playing from.
- Therefore it should work, so I had a go at building it.
Who might use it?
The child I made it for has it playing all day long, so it has been a big success. It might also benefit anyone with impaired vision, hand tremor, poor dexterity, the old and also the very young. The RFID blocks could even have Braille titles on them potentially. Also good for total technophobes I suppose.
1) Arduino Mega (the multiple serial ports are quite handy). Good news is you can use the cheaper one if you like - the 1280
Approx $40 for a Mega 1280 clone
2) Parallax Serial RFID reader. http://www.parallax.com/tabid/768/ProductID/114/Default.aspx
3) A serial 4 x 20 LCD display (optional), shows you which album is playing. Example: http://www.sparkfun.com/products/9568
4) A PodGizmo Breakout board. This is a 30 pin plug for the iPod with solder pads brought out on a board for each pin. http://www.sparkfun.com/products/8295
5) Sparkfun logic level converter; Arduino uses 5V for everything, iPod uses 3.3V so this does the conversion for serial communication lines. http://www.sparkfun.com/products/8745
6) RFID cards. One for each of your albums (or even one per song if you prefer). Can get them on well known auction site in bulk. Make sure you have correct type - the EM4100 family. About $1 - $1.50 each.
7) I used cheap plastic business card holders to contain each RFID card, album cover label and filler cardboard to convert the RFID cards into small tough "blocks" suitable for small hands. Again available in bulk on well known auction website. Approx $1 for two.
8) A 500kOhm resistor
9) A push to make button (used as Arduino reset button).
10) Power supply for Arduino (Wall-wart). Approx $10.
NOTE: Since above video was made, software has been improved. You can leave the iPod connected all the time, just turn iPod on, turn on the Arduino and it will work.