Ipod Remote Glove (Final)


This whole week has involved soldering and resoldering. Turns out, hacking into commercial devices are terribly tricky. At first, we tried just hot glue-ing straight into the remote because there is some type of film on the surface connectors that repells the solder. That is to say, once you have completed the (perfect) solder, it pops right off of the surface. Using only the hot glue worked…THE DAY OF. Overnight, however, the glue, I’m assuming, had seeped under the wires, thus disrupting the continuity and disabling the switch.


Then, I tried using solder again, and hot glue-ing immediately after the connection, and then clamping the hot glue to keep the connection tight…but the solders kept making contact and disabling the output.

It seemed as though I was trapped in a cycle of 1. solder for 8 hours, 2.have the ipod working 3.leave it overnight, 4.next day = not working. All the while, we are still trying to use the PIC. Finally, it occured to me to use fabric duct tape to cover the first solder (using an exacto knife to slide it perfectly over the boundaries of the two connectors) and then solder the second, and then immediately secure the positions with hot glue.


finally some consistent success. now we can focus our efforts on programming and using the PIC.

New (countless) problems we have encoutered in the past week:
-Connections: from the artduino to the ipod are extremely hard to fabricate. After, trying to solder hair-thin wires to generic ones, and then trying to make the correct header to insert into the ipod, we just cut the entire remote connector and soldered to the wires inside. **only problem with that is the headphone jack is rendered useless bc those wires were severed as well but we will deal with that later**
-Seria.print command: in arduino has been a troubleshooting web of problems. Namely, we had to run it through a for() loop, then take it out of the for() loop, and turns out, it was more of a byte-size problem.
-The command strings: send 7 distinct bytes. Where the confusion comes in is testing whether or not the protocol needs a start 0 byte, or an end 0 byte (which it did to receive data, although it doesn’t seems to be the corrent sequence) and with the speed of sending the data (how much delay between loops) and so forth.
-3.3V: seems like it may be causes problems (although in all examples we have seen, it hasn’t been) so we are using regulators to account for that difference..but alas, to no avail.

Our last resort is to try using a PIC with the PIC code that we have been referencing. /*sigh*/

After talking to Tom, AGAIN, we realized that we could not hack into the remote at all. Basically, we were trying to send data out from the arduino into the remote, when it only sends outgoing data itself. So our new project is to make our own connecter to the headers on the iPod’s square-pin connector. We will be using headers 1 (sending data to the ipod) and 3 (connecting to common ground).

The arduino code is working and responding to sensors, however, and we are quite sure the strings are reliable, since we have seen them in many sources on the web. Hopefully, we are getting closer to making contact between arduino and the iPod as soon as I can construct a workable connector.

After talking to Tom, we decided it would be more beneficial to program our Arduino to simulate a ipod remote (since we already that the serial command strings that are read by the ipod) and use the connector from the remote to hook up to the Ipod.
This will be attached to the breadboard, which is receiving the serial bytes from arduino (in the form of hexadecimal strings corresponding to the iPods protocol) and then connecting into the ipod. So pretty much just hacking into the connector bc we can’t generically buy them. 🙂

Todd then suggested unsoldering the data out and digital ground wires (green and yellow according to picture) and connecting those to arduino, but after spending hours of doing that, we could not get the code to work.

Me and Rosie are working on translating Chun Xi’s pic basic code into arduino and then adjusting the output pins to our sensor data, and then eventually, modifying the functions to be more applicable to the Ride Glove’s interface.

I hacked the remote today.

The connector has basically an 1/8-inch headphone jack with three rings (each connecting circuits to various wires on the control chip) and a 4-pin square connector. The following information was found from http://www.maushammer.com/ipod-remote, by another hacker who had conducted a similar experiment, albeit with a different generation remote. Here, I found the wire-to-signal connections along with the specifications the chip. The chip consists of 6 input/output pins and a 4MHz oscillator. It runs on 3-5.5V with 512 word capacity of programming memory and uses 25 bytes of RAM. There is 1 microsecond instruction time with a timer as the only peripheral other than the I/O’s.

There are 4 pins on the receiving end of the ipod mini for the female side of the 4-pin connector. These pins represent power to remote (3.3V), digital ground, incoming data from iPod, and outgoing data to the iPod. The format for the serial structure is 8N+1, containing 1 start bit (low), 8 data bits, no parity bit, and 1 stop bit (high) at 9600 baud rate. The command strings (serial communication is done through strings) that correlate with the buttons were found from a previous ITP project by Diane Chen, ChunXi Jiang, and Min Weng with their ichair project . I will post a chart later (since we have not worked with the actual information that the bytes hold just yet), but it is good to know that we have many references to test the communications protocol. In the mean time, here are some pics of where we will be making the connections through the ghost buttons and how I “hacked” into the ‘mote. 🙂

And here are close-ups of the chip’s tx, rx, power, ground, and wiring (this is where most of our work will occur):

//Rosie got an iPod remote whose arrival we are awaiting.//

Today I did some sensor data testing using very simple analog-input code (you can modify the code from the analog in/out lab and change “potValue” and “potPin” to “fsrValue” and “fsrPin.” I also used more than one analog sensor..) I first used two inputs with a 1/4-in FSR and a 1.75 x 1.75-in FSR pad, but the 1/4in will be perfect finger size so we settled on buying 8 of those. Over the weekend, Christian and I played with flex sensors and got a hold of an accelerometer but decided the ranges we would get from those would not be definitive enough or perhaps even give us too much information (in the case of the accelerometer, anyhow). With the FSRs, the current state gives an analogHigh value and we found that it was rather easy to bring them down to a full 0 with plain contact from your fingertips. We still need to find a ball/tilt switch, but it is actually much easier to find mercury tilt switches than plain ball tilts. We also finalzed the actions of the glove as follows, limiting it to the most simple/necessary controls.

-thumb to pointer: turns glove on and off
-thumb to middle: volume up
-thumb to ring: volume down
-thumb to pinky: start/stop iPod itself, not glove activation


Met with Tom today. He really got us to take a step back and think about the gestures involved with our activity and carefully defining which ones would be deliberate/accidental and akward/natural. Our next step is to do a very preliminary test on the sensors (we are trying out flex sensors, FSR’s, and an accelerometer) and graphing out the ranges we would typically get from them in the interface of a glove. The lab we are going to run is a data logger that can be found on his sensor wiki, which simply gives us a graph of the analog values from a sensor. This should help up figure out which ones will be most applicable.

So while i’m wishing i was boarding and jonesin to be at mt hood, i was simultaneously thinking about finals and what i would be motivated to work on for the next 3 months of my life. and i remembered this idea i had last winter about an ipod glove remote which would give you control of your tunes while you were on the mountain without having to take off your gloves so you would push the right buttons. That and, even when you do take off your gloves, your fingers are friggin icicles so half the time the touch wheel on ipods don’t register the heat from your hand and renders your scroll options useless. (i could bitch forvever, it’s what i’m good at).

but anyway, this is my initial idea. i’ve drawn some plans for it and am planning to talk to tom about which would be the most appropriate switches for the job. the hard pard will be cracking the code for an ipod (i think only code for the 2nd and 3rd generation interfaces have been successfully hacked, and the mini..) or hacking into an iPod remote, which they don’t even currently make anymore, and simply using those (already conveniently programmed) input/output pins. somehoow i think my hopes of avoiding code are embarrassingly lofty. but luckily, !!ROSIE!! (who i cannot link to bc i don’t know her real first name and thus, cannot find her on the itp student list serve) wants to work with me and she is a programming animal and a joy to be around. once again, i luck out.

here are some very very very early sketches.

draft 1

2 Comments Add your own

  • 1. Rosie (the programming animal)  |  October 27, 2006 at 10:24 pm

    We’re going to kick ass on this project. I’m so excited. What version Ipod do you have? I have the 4th generation one, 20GB, not color or anything. sad for me 🙂

  • 2. Music-Band  |  August 5, 2007 at 4:51 pm


    I was surfing the web and i saw this site, pretty cool.
    Currently im running and adult site:Reachton
    k, just want to say hi 🙂
    Can i link you from my site? im looking for quality content like yours. If no let me know if i can add u in exchange for a montly fee or something.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed

%d bloggers like this: