Go Down

Topic: iOS/Android device masquerading as an Alpine M-Bus CD changer (Read 1 time) previous topic - next topic

Tremelune

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

Tremelune

Well, I'm not the first!

https://forum.arduino.cc/index.php?topic=397086.0

https://github.com/Olstyle/MBus

https://github.com/picohari/atmega128_alpine-mbus-emulator

https://github.com/kjanesch/pseudochanger

Very cool stuff.

Tremelune

Fascinating read on getting audio out of an Apple device:

https://forum.arduino.cc/index.php?topic=338424.0

I wonder if using Bluetooth audio and control would be simpler...Seems like it would at least allow for greater flexibility in my choice of device.

Though then I would also need a high-quality DAC...and I've probably already bitten off more than I can chew...

Go Up