I'm trying to play my hot Spotify jams in my old-ass car without changing the head unit and while having control of my iPod via buttons on said head unit (a mere analog aux-in is insufficient). There are a few [url=http://non-Arduino workarounds and avenues yet to explore, but none of them look particularly promising, and this seems like it might be a good way to get into finally messing with an Arduino, which I've been meaning to do—I just want to make sure it's feasible as a solution to my problem.
My head unit is an Alpine CR-1 from circa 1995 that is connected to an Alpine CHM-S600 CD changer. I believe the communication protocol used between the two is Alpine's M-Bus. The (alleged) 8-pin DIN pinout is here:
1: 3us 2: Audio GND 3: Bus GND 4: Right audio out 5: Left audio out 6: +12V 7: +12V 8: GND
I can't find any specs or adapters for Alpine's M-Bus stuff, but someone went through the trouble of reverse-engineering the protocol.
It looks like I might be able to use an Arduino to translate the M-Bus protocol to the iOS protocol and back again by putting the board between the head unit and an iPod. Here's a Visio diagram of my components:
I think the tricky bit will be getting the M-Bus translator working. It looks like I would need to be able to have control of the voltage on the Arduino-to-head-unit control wire to within a tenth of a millisecond, as well as a way to detect/measure voltage changes coming from the head unit. Is this possible? Easy?
I would just connect the analog wires (audio) directly together, though now that I think about it, I'm not sure USB works like that. In any event, I'm assuming that there are numerous components and libraries for interfacing with iOS and Android for playing and controlling audio. The rest I assume is just a bit of C or similar programming...
The only control I really care about is the ability to skip a track. Rewind and pause would be nice-to-haves. Does this seem feasible? Doable for an expert? Reasonable as a novice?