Thursday 12 August 2010

Audi Concert Autopilot Hack

If I wanted to listen to my ipod with my 10 year old Audi Concert stereo I used one of those tape adapters, you know the ones, they look like a cassette with a cable coming out. It worked, but as you all know they are not exactly hi-fidelity, although I would say the results were slightly better than the FM transmitter type. It was a neat install, the cable went above the head unit and you couldn't tell it was there. But I was getting considerably frustrated with a) the quality of the tape adapter and b) the rattle, clunk, clunk, rattle that the tape device made when in the deck.

As someone who believes there is always a better way and a mod to be made, I decided that in true hacker style I would take matters into my own hands.
The main reason for taking this approach is because I want my car to stay as OEM as possible. Yes I could have bought various new off the shelf units with all these features and more, but I wanted to keep the original look. The car is an Audi TT, whose interior is a classic design.

First, the head unit came out and I set it up on the bench with a bench PSU and some old hi-fi speakers, off came the lid and I ripped out the entire cassette mechanism. Second, I needed to fool the head unit into thinking it's in tape mode. The Concert head unit is, as I am sure many other are, quite particular in the way it tests to see if there is a tape inserted; first it looks for a physical tape, then it checks the tape is ok by measuring the load on the drive motor. So, the next trick was to fool the head unit into thinking that there is a tape in it, so that when you select the tape source it actually stays on.

This ended up being easier than I thought, I went down the track of trying to work out the logic sequence of the mechanism switches and motor sent to the TDA3612 tape control IC, which is mounted on a sub-board. But I discovered that actually all the control IC was doing was setting an enable pin on one of the main processors once it was happy. The slight complication was that I couldn't just leave the enable pin permanently set. When you enter tape mode using the source button, a small time delay of a second or two was needed before setting the enable pin, without the delay the unit would reject being in tape mode and return to radio. 

I discovered by scoping around that one of the pins on the Dolby processor was set high when tape source was selected, but it was an instantaneous change of state, so I programmed a PIC12F629 that I had lying around to provide a delay, triggered by the enable pin on the Dolby chip and then using an output from the pic to control the enable pin on the processor. A bit of an overkill for the job but simple, reliable and requiring no external components, I also thought that should I need to add any other logic functions, I could easily expand the use of the PIC.


Next I needed to find out where the line level signals were, I didn't just want to attenuate the ipod line level and connect to the tape head as the input to the Dolby processor is high gain and the IC obviously processes the signal as well. I discovered that on the main board there is a main audio control IC, a TDA7342, which acts as a source selector as well as having other functions, so I traced the output of the Dolby processor to the TDA7342. I completely removed the surface mount Dolby chip and tapped into it's output lines.

Initially I had difficulty with the DC coupling between the ipod and the head unit, I could either charge the ipod or I could listen to it, but the connection of both together sent the ipod into reset. The head unit does not seem to have a virtual ground, but after trial and error and the addition of two audio grade 1uF bipolar decoupling capacitors, one in series with each channel from the ipod to the inputs of the TDA, the system worked perfectly. The capacitors did not degrade the audio significantly enough to worry about, which was a concern at first as the decoupling capacitors are also acting as a high pass filter.

 
Removal of Dolby Processor



Experimenting with line input.



Griffin Autopilot
In order to graft an ipod/iphone into the head unit, I used a Griffin Autopilot device. The Autopilot has an ipod connector on the end of a cable, it allows charging, play, pause, FWD and RW along with connection to the line level output of the ipod. The Autopilot has a 3.5mm jack socket and an output level switch. The device is packaged as a cigarette style plug in adapter but of course I didn't need all the dressing.  After stripping it from it's casing I installed it into the void the tape mechanism used to occupy, using my favourite modding tool, the hot glue gun! I didn't need to modify the Autopilot, it was just a matter of hard wiring the switches and line out into the head unit.

 

Another nice feature of the Autopilot is that it has four bi-colour leds on it, these show the charging state, red when charging the ipod and green when fully charged, as the board is mounted behind the now unused cassette door, a subtle halo like glow is emanates from the head unit which visually indicates the ipod charge status.


In order to use the control functions I hard wired some of the buttons on the front panel of the head unit; the REV button on the front is now the Play/Pause button and the Dolby and RD buttons are Forward and Back respectively, but as these buttons were only relevant to tape operations that no longer exist this is ok. Unfortunately this is the untidy part of this mod, the buttons are wired as a matrix and connected to a decoder which is on the front PCB, I had to use some fine enamel coated wire to tap into the switch lines. I know I could have probably done something fancy and decoded the data with a signal analyser, programmed a PIC and tapped into the main data bus, but I think that is a little unnecessary in this case. 







Is it any good? Yes it's absolutely fantastic! Don't get me wrong, it's no Alpine and it never will be, but considering it was only the cost of the Griffin Autopilot, it is an amazing improvement. I need to iron out a few bugs, at the moment the output of the PIC never gets switched off which means that if you switch back out of tape mode you cannot then select tape mode again untill you power cycle the unit. This is a minor bug fix, I just need to edit the code slightly. But overall well worth it. The few pics were taken during my testing and prodding.








I wanted to add the FIPO device by Anycom. This is a bluetooth adapter that plugs into an ipod dock, it allows bluetooth streaming of audio from an ipod to a dock, whilst also allowing wireless control. The idea being that the iphone stays in your pocket, when you get into the car it will automatically connect and allow wireless audio/control. The device is easy to setup, has a very small footprint and whilst it does stream audio, I just could not get the control functions to operate correctly. No matter how many times I paired it with an iphone, the FWD/BACK controls just wouldn't work. I wonder if it is just incompatible with the Autopilot?
Anycom FIPO