Replace Car Steering Wheel Control Adapter with an Arduino

A while back I installed a aftermarket radio in my car and to retain my steering wheel control button I purchased a Pac-Audio SWI-ECL2 (control adapter). Since I am now working another Arduino car project, I would like to get rid of the SWI-ECL2.

The wiring for the SWI-ECL2 is straight forward, I have five steering wheel buttons and each button has a separate wire. Between the steering wheel buttons and the SWI-ECL2 there are resistors on each wire. The radio and the SWI-ECL2 are connected by two wires.

I was thinking I should be able to hook those two wires up to my Arduino and see what’s being sent from the SWI-ECL2 to the radio. This is where you guys come in; I need some suggestions on how to hook the two wires up to my Arduino.

How do I go about hooking those wires up to my Arduino? Is there some way I can test it first?

Here is the control adapter I have:


Reading thru the little material there, it looks like maybe CANBUS is the interface you want to monitor. Go read up on that, see if you can tap into it directly or if you need to drop it down from 12V or something first. I thought I had seen some CANBUS discussions in the old forum, or try the playground.

Did some more research and I don't think it's a CAN-BUS interface. I connected my multimeter to the SWI-ECL2 today and looks like the voltage that comes across the two remote wires is less than 5v. In fact I get different voltage reading for each button. I'm reading up on resistor ladders.

Since the voltage is less than 5v, shouldn't I be able to hook the SWI-ECL2 directly up to my Arduino? If so what pins should I be using to do this?


Can your multimeter measure frequency? You should verify you are not actually seeing the meter measure the RMS value of a waveform.

Thanks for the warning James. This is exactly the type of stuff I need to know because to be honest with you I’ve never used a multimeter until today so I’m really not sure. I don’t think it does though. I read up on them this morning.

Someone gave me a Wavetek Meterman 320B a few years ago and it’s been sitting in my garage until today when I used it.

This is the manual for it here:

I have a project in mind that is going to use this sort of stuff, Any info you lot find I will be interested in.

v simple way to control car is control that car by computer system or laptop it can control via Pic microcontroller or Using lpt port

I think the controls that are being discussed here are things like cruise control and volume and track change buttons attached to the steering wheel...

@James, my multimeter doesn't measure frequency, is there any other way to verify that I am not seeing the RMS value of a waveform?

@haseeb, I'm not trying control my car by computer, I'm trying to replace the adapter that allows me to use my steering wheel control buttons with my aftermarket radio.

James kind of scared me, how do I know if I am getting measuring voltage or seeing RMS values of a waveform?

I came across this post on (scroll down to post #9). Looks like this guy was able to do exactly what I want to do using a PIC microcontroller. Looks like he used an Oscilloscope to get the codes for an Alpine aftermarket radio.

Since I don't have an oscilloscope, I Google’ed oscilloscope and Arduino. Interesting enough, I came across the poorman's oscilloscope (Arduino + Processing).

Linked in the first note from that website was the Arduinoscope, I wired it up to see if I could get it to work and everything seems to work ok, but I’m not confident I know what to do next. The Arduinoscope takes analog and digital input. Which input should I connect to the two wires coming from the SWI-ECL2 to the radio to analog or digital?

Ok so I read the information from this thread about steering wheel systems.

It basically said my cars steering wheel system is resistor type and that it needs to be put into voltage divider configuration. So I read up on steering wheel controls and voltage dividers and such, but it made me even more confused. I understand how voltage dividers work, but I don’t know what I need to do to put my car into a voltage divider configuration.

Is resistor based steering wheel systems the same as voltage detection-type steering remote control? I have been messing around with my car every day this past weekend, including yesterday. This is what I was able to figure out so far.

SWC > SWI > Car Radio

SWC: Not connected to anything (Constant 0v)

vol. up = .698 (2k) / .004v
up = 175.7 (200) / .004v
mode = .032 (2k) / .004v
down = 175.4 (200) / .004v
vol. down = .694 (k) / .004v

SWC to SWI-ECL2: Coming out of the SWI-ECL2 (Constant 0v)

vol. up = 1.023 (2k) @white wire of
up = .005 (2k) @ white wire
mode = .005 (2k) @ brown wire
down = .293 (2k) @ white wire
vol. down = 3.31 (20k) @ white wire

SWC to SWI-ECL2 to Car Radio: (Constant 3.22v)

vol. up = 1.34v @ brown wire of car radio
up = 0.001v @ brown wire of car radio
mode = 0.001v @ white wire of car radio
down = 0.56v @ brown wire of car radio
vol. down = 2.18v @ brown wire of car radio

Note: I had to connect a 150 ohm resistor to the down and vol. down wire. I also had to connect a 47 ohm resistor to the vol. up, up and mode wire. The free ends of resistors are connected to the singe white wire.