My car’s iPod connector — hacked!

Kameshwar Chavali
4 min readNov 22, 2017

--

“Start where you are, use what you have, do what you can.” — Arthur Ashe

Ever-since I first saw and drove my 2008 Infiniti G37S, I fell in love with it. Its 330-hp 6-cylinder engine coupled with a 6-speed manual transmission is incredible. Cornering with its viciously-limited slip differential is a pure pleasure. And, its 6-speaker Bose audio system is heaven to the ears. In its class and one above it, the G37S is a driving enthusiast’s dream come true.

However, it does have a couple of less-than-stellar qualities. 1) It runs Bluetooth 2.0 without A2DP support — no music-playing support, 2) it is not as energy efficient (“hybrid”) compared to today’s standards, and 3) it has the old-style 30-pin iPod connector. Really! Who uses those anymore?

I needed something to convert my Android’s USB interface to work with my car’s iPod interface. The only other options available today were:1) an iPod-Bluetooth adapter (cost: $99), and 2) using headphone output for audio (con: medium fidelity audio).

“Getting boxed-in into one’s ecosystem is a sign of weak mind”

So, over the weekend, I hacked my car’s iPod interface and built a third option — a dock which converts Android’s (micro-) USB interface to iPod interface. The advantage with this dock is that I can control my phone through steering controls, make apps like Google Play Music, Pandora, and Spotify integrate-able into my 10-year-old car’s entertainment system, and to do it for a dirt-cheap cost. Now, my car thinks it is talking to an iPod while I can control and launch all those apps right from my steering wheel.

For now, I used the Android Accessory Mode, along with a ‘title-grabbing Android Service’, to get the phone talking. With the documents available from Android and Python, I was able to get the phone talking in about an hour.

The difficult part was reverse engineering the Nissan/Infiniti HARN-AUX connector and mapping it to the iPod interface. The iPod interface pin-mapping is fairly well understood so I had to pull out a multimeter and anchor the DC voltage levels and use them as markers.

Apart from that, the Bose firmware implementation was fairly straightforward and rather dumb.

The Deets

I chose the Orange Pi Zero H2 board for my project because it came with a 1x USB OTG port and 2x USB 2.0 ports — which I desperately needed. Raspberry Pi Zero, unfortunately, was not versatile enough for my project. Also, I needed the peak-power consumption to be below 1A to reduce the need for a big LiPo battery. And, I am pleasantly impressed by the Orange Pi Zero H2 board. Although I used Allwinner boards (A20) before, Orange Pi is definitely a step-up compared to their previous boards; and at a fraction of Raspberry Pi’s cost, it is definitely a worthy competitor. More on this later.

The board talks to the audio system through a Serial interface and provides an upscaled-and-amplified audio output through line-level signals.

I realize that Orange Pi Zero was an overkill for this project. But my intentions for this board is to be much more than just an audio dock.

I may write another article on the details of implementation which should be highly technical.

To-Do

Clearly, it is far from complete. There is so much potential for this project.

Things I need to do to complete this project is to 3D-print a box for the board, build a power-path management and battery-charging circuit, and add a LiPo battery.

After this, I will attempt to put the phone in USB Host Mode so that I can fully integrate Android Auto into my car’s music system.

Thanksgiving

A shout-out to all the makers and hackers before me who put in the hard work to hack a lot of things providing insight and ideas. None of this would have been possible without a collective intent of doing things and sharing things for the pure pleasure of learning. Same goes for Linux and Android.

--

--