Remove All Ads from XDA

Car radio head unit that sends headset commands

8 posts
Thanks Meter: 0
By Chinasaur, Junior Member on 26th May 2010, 08:37 PM
Post Reply Email Thread
Hi all, first post but I'm really curious about this. I have a Droid Incredible and a 2008 Corolla with the factory radio. I added an aux-in 3.5 mm jack (several actually) to the head unit using one of the standard kits that plugs into the CD changer port on the back of the radio. This works well, although I had to get some mini TRS-TRRS 3.5 adapters to stop the Incredible from having the problem where it thinks it's getting headset commands through a TRS headset plug and goes crazy.

The thing that I would love is if I could control my Incredible with the buttons on the head unit, at least to have the ability to skip tracks forward/back by pushing the radio buttons. As far as I can tell, this should be possible given the hardware. There are kits that use the CD changer port on the radio to control an iPod, so we know we can get the track forward/back buttons sent out. And we know the Incredible will take headset commands like play/pause, answer, voice dial, and track forward through the headphone jack (I know this partly because these are the things my Incredible does when it is going crazy from the TRS input).

So is there no adapter that will connect to my car radio CD changer port and send the radio button pushes out as TRRS headset commands? I am really surprised this doesn't exist, but have searched around the web to no avail. Considering trying to build something but I don't have experience with an electronics project of this scale.

Alternatively, there is probably going to be an audio in/out + remote control for the Incredible usb adapter at some point, like the one for the Droid Eris. I assume this will be available since we know the Incredible is wired for audio through the USB port (I know this from the videos online where the Incredible does video out with audio through the USB). So this would appear to be another option for running the car radio commands into the phone.
27th May 2010, 07:42 PM |#2  
OP Junior Member
Thanks Meter: 0
Okay, barring any device surfacing to handle this, I'm going ahead with some research of my own. Apparently one reason devices and information are not widely available is that Apple may have a patent on some forms of headset commands through the TRRS 3.5 or 2.5 mm jack. Since I'm a new forum user I can't post any links out right now; sorry.

I have a SkullCandy headphones+mic. They have a single button next to the mic. This button works to pause/play the Meridian music player on my Droid Incredible. Pushing the button twice rapidly pauses and then skips to the next track and plays. If I push the button when no music player is open, it opens Meridian and plays. If I push when some other music player is open, it opens Meridian and plays.

Presumably the button works by changing the resistance over the headphone wires. Checking the resistance between the sleeve (which seems to be ground) and the other contacts (Tip, Ring1, Ring2) I find that without the button pressed, the resistance is about 1 kOhm for all three. Pushing the button changes the resistances to be: 17 Ohm, 17 Ohm, 1 Ohm for the Tip, Ring1, Ring2 respectively.

So if I can figure out what the head unit sends to the CD changer when the radio buttons are pushed, I may be able to rig up something useful. I am still curious what other signals might be possible. When I have the shorting out going crazy behavior there definitely seems to be a case where it opens the voice dialer window or calls the last number in the call list. Not clear whether this is a different hardware signal or something about the software state of the phone when it gets the resistance change. Haven't yet tested what happens when you push the button and there is a call, but presumably it answers/hangs up. There are other headsets (for Apple players mostly) that have additional buttons too; not sure if that's relevant.
28th May 2010, 12:08 AM |#3  
Hmm, I need a headunit for the same functions.

AFAIK for controllling a smartphone over bluetooth it must support AVRCP for controlling and A2DP for audio.

So I found this unit: Sony MEX-BT3800U

Iam going to buy this soon (need to sell some stuff).

Hope this runs with my Kaiser
28th May 2010, 10:30 PM |#4  
OP Junior Member
Thanks Meter: 0
@sda2: that one looks pretty good! A little pricey for me and I kind of like the aesthetic of having the factory radio but just having it do more. Keeps my car looking cheap and not theft-worthy.

I have confirmed that pretty much everything I've seen the phone do in response to headset commands is just dependent on the context the OS/software is in. So other than the single click or double click there doesn't seem to be a lot more that the phone is expecting to handle.

However, I did find an app called DroidShuffle that allows you to assign more functions to things like a long click or a triple click. Sadly, I couldn't get this app to work with my setup on the Incredible. But I think it is an interesting concept; since the OS only seems to understand 1 type of click, just write a service that lets it respond differently to different numbers or duration of click. Then setup a circuit that converts the different car radio head unit button pushes into these differentiable click trains.

Don't think I'm going to put the time in though; will wait to see what kind of control you can get through the micro-USB.

Another possibility: a device to convert the head unit button pushes to bluetooth AVRCP. This might be more widely useful, but I think the complexity and cost versus a wired solution push it towards the point where just getting a new head unit makes more sense. Unless I can find a simple generic AVRCP chip...
29th May 2010, 08:41 AM |#5  
Dukenukemx's Avatar
Senior Member
Flag Jersey
Thanks Meter: 44
I think what you're looking for is something like this? It comes with a wireless strap that you can put on your steering wheel that gives you control over your device. Basic stuff like answering phone, play music, and move track forward and back. Plus, it uses a 3.5mm port, so no stupid bad quality FM radio. As long as Bluetooth is enabled, it automatically connects to the device. So all you gotta do is walk into the car.

BTW, I have this hooked up to my Pioneer stereo, using the P-BUS that all Pioneers have. I just needed a adapter. Not to confuse anyone, this needs a car stereo with a 3.5mm aux jack. You can usually get an adapter that plugs in the back where the CD changer would normally go, and avoid the terrible FM radio quality. Don't waste your time with FM radio adapters.

30th May 2010, 07:33 AM |#6  
OP Junior Member
Thanks Meter: 0
@DukeNukem: This looks nice; I especially like the steering wheel remote. I am still going to play with decoding the output from the head unit buttons, and I ordered a microcontroller and bluetooth module to see if I can actually get it speaking AVRCP without giving myself a stroke. But that has moved into fun project land so I think your suggestion will be the practical solution, especially if I can find it for < $50.
6th June 2010, 04:21 AM |#7  
Junior Member
Thanks Meter: 0
yeah i also need that for my relative who has the same problem about the Car radio head unit that sends headset commands

14th June 2010, 11:02 PM |#8  
OP Junior Member
Thanks Meter: 0
Well, I bought a Really Bare Bones Board (Arduino compatible that's small, cheap, and easy to breadboard) from Modern Device. Based on several Corolla AVCLAN sniffing projects out there on the web (Marcin, SigmaObjects, AngryCamel) it was pretty easy to get something up and running that sniffs the bus for head unit messages.

Since I already paid the $50 for the box that emulates a CD changer to add aux-in, I don't need to worry about that, but it should be pretty easy to accomplish that with the microcontroller as well.

For sending headset commands through the 3.5 mm jack, I think I'm pretty close. Not exactly sure how to emulate a click on the headset button, but I would guess a simple transistor can do the job since it's basically just a change in resistance.

I bought a bluetooth chip though, so I am trying to get messages to my phone through that for now. There is a post on android forums where someone has hacked the pinout for the USB/AV port on the Droid Incredible too, so I'm hoping it will be possible to send commands through that at some time soon.

Will plan to post project details at some point, but it's still a work in progress for now.
16th June 2010, 04:32 PM |#9  
Junior Member
Thanks Meter: 0
You can try with this one:

Clarion DXZ588RUSB USB/MP3 Radio - Black
30th June 2010, 07:59 AM |#10  
OP Junior Member
Thanks Meter: 0
Okay, I have a simple version essentially working: can capture commands from the car radio and signal simple headset clicks to the smartphone. Haven't written the software to link everything up yet; will post when that's done.
23rd August 2010, 04:51 AM |#11  
Senior Member
Thanks Meter: 2
Donate to Me
It should be fairly trivial to modify VWCDPIC (for Audi / Volkswagen / SEAT / Skoda) etc, to do this. I may look into doing this for my HTC HD2 soon, if no-one has done this yet.

For emulating the button pushes, on the TRRS I think you should just connect the lines to each TRR, and just leave them in input mode (high resistance). Then when you want to send a command, just pull the line down to ground. If you're worried about applying too much resistance, add a resistor between the micro and the tip or ring.

On my HTC headset:
Play/Pause/Phone - Pull the second ring down to ground (Mic line)
Previous Track - Pull the first ring down from 20kOhm to ~235 Ohm
Next Track - Pull the tip from 20kOhm to ~600 Ohm
Post Reply Subscribe to Thread

audio, car, control, droid incredible

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes