Steering wheel car controls for SONY CDX-GT410U
Connecting Astra G factory audio steering wheel controls to SONY CDX-GT410U car stereo unit
Issue being solved:
While the Opel Astra G (1998-2009) has the factory option of fitting audio controls under the steering wheel for quick access to the radio features this is usually tied in to the factory radio with a proprietary connector. The Sony head unit does not feature this connector. As a matter of fact, this model of head unit does not feature any connector for steering wheel controls. If it had some kind of connector for these controls the task would have been to make some kind of connector or translator so the steering wheel controls could communicate with the radio. Sadly, as this is not the case I will have to also figure out how to control the radio itself. What the radio does have is a remote control. This is quite rare but does imply that the head unit can receive infrared signals as most remote controls for stereos, TVs, media centers etc. use infrared LEDs. And it does. So, there is a way to send it input controls. This means our circuit has to somehow read what button is pressed on the steering wheel and then send this to the radio unit by infrared. So, this splits our project into 2 main parts:
Reading the button presses from the steering wheel
I have bought a steering wheel that contains the audio controls (the steering wheel moldings differs from the standard non-audio control wheel). This contains a factory wiring loop. This loop has a few wires, most probably a dedicated one or pair for the airbag and another for the horn buttons. Out of the total of 6 wires this leaves 3 maybe even 2 for their stuff like the audio controls. While the exact role of each wire will be revealed when I open up the wheel I can start by assuming that the buttons are each individually recognized by using a resistive divider (this is standard practice and I will be quite surprised to find anything other in here). So most likely I only have to figure out what each wire in here does and what the exact voltage values I get out of the resistive divider for each button press. This should cover this side of the project.
Sending this instructions to the head unit
Since I still have the remote I can power it up and test the controls. And sure enough every button does what is says on the label. I just have to decide what commands on the remote would get used the most and how to send them to the IR receiver on the unit. To decode the remote I know that IR led libraries exist for the Arduino so I think I can use one to first record what the remote is outputting for the commands I’m interested in and then play this recordings back somehow when the right button is detected on the steering wheel.
And this is my plan. Next time I will take a look at tearing apart the steering wheel and tracing the circuit to find out what does what and maybe I’ll have a look at recording and playing back IR commands with the Arduino.
The complete project as of 8 February 2018: