3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Magic Music Table RFID - iPod: No menus, no buttons

Magic Music Table RFID - iPod: No menus, no buttons
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.

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

Shopping list
1) Arduino Mega (the multiple serial ports are quite handy). Good news is you can use the cheaper one if you like - the 1280
http://arduino.cc/en/Main/ArduinoBoardMega Approx $40 for a Mega 1280 clone
2) Parallax Serial RFID reader. http://www.parallax.com/tabid/768/ProductID/114/Default.aspx $39.99
3) A serial 4 x 20 LCD display (optional), shows you which album is playing. Example: http://www.sparkfun.com/products/9568 $29.95
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 $14.95
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 $1.95
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.
 
Remove these adsRemove these ads by Signing Up
 

Step 1How it works

How it works

The blue RFID reader has a range of about 4 inches so it has been fixed by 4 small bolts and spacers (cut from plastic tube) to the underside of a sheet of polycarbonate cut into an artistic oval using a jigsaw.

I used a project box which has a lid on the top held by screws which screw down into main box. The polycarbonate oval now forms the new "lid" for this box and 6 screws that came with the project box now hold it to underside of the polycarbonate.

The whole assembly is then self contained and fits into your table / box / cabinet / Star-Trek control panel of choice by simply dropping it down over a hole cut into the top surface. The project box sits in the hole while the polycarbonate is held down with self-tapping screws that go into the wood around the edges.

This makes it easy to take apart to fix any problems.
« Previous StepDownload PDFView All StepsNext Step »
12 comments
Feb 1, 2012. 11:09 PMjesmor3 says:
Quick question before I start! :) Could I use an Uno for this? Did you use the Mega for the power or for the available pins?
Feb 2, 2012. 7:28 AMjesmor3 says:
Oh, one more question: The RFID Reader takes kind of a long time to read the bricks. Is this the limit of the Reader itself, or the code? (or on purpose?) If I bought a different, possibly faster, Reader could it read the tags faster? Like this one?

https://www.adafruit.com/products/364
Dec 31, 2011. 3:37 PMmonkeys98 says:
you should have some bricks in the shape of volume bars for volume control.
Oct 30, 2011. 1:11 PMKcPower says:
how is the LCD display connected?
Oct 19, 2011. 6:06 PMGrissini says:
I tried to download this and it just downloads as at .tmp file than I don't know how to open. Could you be able to post this as the full code or just the example in step 31 that appears to be empty. I have this RFID and all the code I can find doesn't identify the card very descriptively. One example simple puts it out as X and O. Any help would be appreciated.
Oct 22, 2011. 9:10 AMGrissini says:
Thx John. I really appreciate it. It came through great.
Oct 3, 2011. 2:49 PMGrissini says:
Killer Idea. Awesome execution. Great write-up. A Fantastic Instructable. Thx.

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
127
Followers
10
Author:XenonJohn