Nexus (and Other Androids) Headset Remote With Media Controls

204K6433

Intro: Nexus (and Other Androids) Headset Remote With Media Controls

After being inspired by this project to make a remote control for a Nexus One using three resistance values across pins 3 and 4 of the headset plug - 0 ohms for play/pause, 220 ohms for skip back, and 600 ohms for skip forward, I set out to make something similar. Since inline remotes are very common for Apple devices, I looked into modifying one to work with my Galaxy Nexus and came across this project.

Apple remotes have three buttons, volume up, play/pause, and volume down. While play/pause uses the same 0 ohms as Android, volume up and down use complicated signals. Fortunately for me, the method they use didn't look like it would interfere with the resistances for Android, and if it did, I could probably cut the traces.

I bought a cheap iLuv iEA15BLK inline remote from Amazon for $5.48 and cracked it open. It is ideal for this project with three discrete, surface-mount, pushbutton switches with just the right amount of room between them for two 0603 size surface-mount resistors. I ordered both from mouser.com for 5 cents each, not counting shipping. I used CR0603-FX-2200ELF and CR0603-FX-5900ELF.

With the resistors in the right places, the remote now works with my Galaxy Nexus to play/pause, skip forward, and skip back, as demonstrated in the video below. I also use JAYS Headset Control to add volume up and down using multiple taps of play/pause.

I've tested and confirmed it works on the Unlocked Galaxy Nexus, Verizon Galaxy Nexus, and original HTC EVO.

It also works on the Galaxy Note except that the fwd and back buttons actually make the volume go down and up, respectively. So if you build it for the Note, reverse the resistors and use a headset utility, like JAYS, to control fwd and back.

It doesn't work on the Xperia Play, HTC Incredible 2, Samsung Droid Charge, and Samsung Galaxy S Vibrant. It also no longer works on Apple devices...excellent.

Parts:
(1) iLuv iEA15BLK
(1) CR0603-FX-2200ELF
(1) CR0603-FX-5900ELF

Things you will need:
Soldering iron and accessories
Razor blade
Tweezers
Something to hold the circuit board
Magnifying glass (optional, but those resistors are tiny)

UPDATE TIME:

This remote doesn't work with newer Android devices like the Nexus 6, 5X, or 6P. It turns out Google has created a specification: https://source.android.com/devices/accessories/headset/plug-headset-spec that has different resistance values and different functions. The resistor values are now 240 ohm and 470 ohm and they control volume rather than forward and back. The procedure is the same, just use the new resistance values in the correct places.

Spec v1.1 Parts:

(1) CR0603-FX-2400ELF

(1) CR0603-FX-4700ELF

STEP 1: Open It Up

Use a razor blade on the seam of the remote to carefully work the sides apart. 

STEP 2: Place Resistors and Solder

Place the (incredibly tiny!) resistors as shown.  

It worked best for me to, one resistor at a time, put some solder flux on the pads for the switches, hold the resistor with the tweezers, solder one side, then solder the other side. Then repeat.

Be careful to use the iron sparingly and be quick, you don't want to burn the resistors.

STEP 3: Finishing Touches

Position the top and bottom covers with the + button towards the female jack and - button towards the male plug.  Carefully press them back together. 

You could use a few drops of glue on the tabs, but I didn't and it has stayed together thus far.

Enjoy your, now superior, hacked remote.



Special thanks to Rich Kappmeier for the pinouts and resistor values and David Carne for reverse engineering the, absurdly complicated, Apple remote.

32 Comments

Updated, thanks! Too bad they took away our 3.5mm jacks in the new phones anyway...
Does it work vice versa?
Like andriod to apple?
how to make is work on galaxy s3....
So what value resistors where there in the first place, or was there none?. Reason I ask is I am wondering if a inline adapter could be used with the resistors in it that can be unplugged to use with apple?. Are the resistors in series with the mic and ground?
The first two links I posted have pictures and answer your questions better than I can explain here, but the answers are none, not that I'm aware, and yes.
You're right in that I don't know much about the idevice protocol. What I did know however was that the protocol Apple does use is like CTIA but has different resistances/signals/whatever that idevices (and select others) can recognise and Android devices can't. So I know there's more to it than OMTP and CTIA. It's just easier for me to understand that way. :) Changing these resistances is what I thought you were doing and I was wrong to assume that it would work with any headset and for that I apologise. This is what I learned before I stumbled across your instructable and what a number of people have mentioned when it came to finding compatible headset in the Android community. I remember seeing a hack of some kind long ago related to this and it didn't involve resistors, but the location of said information escapes me.

I've already mentioned I have a bluetooth headset in my first post, but I don't really like the business of hoping it has enough charge and the occasional cutouts (which all BT headsets suffer from even if they are on the same side as the phone). Wired is more convenient for me. I've decided to have one last go and I'll pick up a Nokia AD-54. I'll try swapping the mic and ground and see what happens. They're as cheap as chips now anyway. I'll clean up the remote on the JVC one and give it away. It's no use to me and I certainly won't be getting on the Apple bandwagon, that's for sure. Sorry to have troubled you.
I don't think my last reply went through, so I'll send another (sorry of this double posts). There are 3 button (well, actually 4 if you count the special button) headsets for the new Sony smartphones called "Smart Headset". I would buy one but they're expensive and I have read reviews saying they don't last long and just die on their own. While thinking about it today, I'm wondering if converting a OMTP headset to CTIA would work for me. One that caught my eye is the Nokia AD-54.

It comes in white (which I want) and the functions include forward and backward seeking and probably volume. You can also use any earphones you want and it has a clip on the back too. I don't mind it bigger than the sleek stuff about on the market today, I just want something that works! Would switching the mic and ground connections directly in the remote work? I found an image showing the connections for the headset too...

I'm sorry, but multiple presses seems like an annoying "poor man's" solution when it is possible for an android phone to have similar functions to an idevice. I'm also going to search on how the Sony Smart Headset works. Somebody must've opened one by now... But the way it sounds is that your phone was OMTP and you just modded a CTIA remote to work on it. Nothing special there, as I thought this was all about somehow getting an idevice compatible remote to work with a CTIA android device. But please correct me if I'm wrong. 
From your questions, I don't think you've studied this project that I linked to in the write-up.  It really breaks down clearly how this works.  If you look at his "One-Step-Beyond Cable" diagram, that's exactly what I have modified this adapter to be.  That's opposed to the second link I posted that explains how the iDevice protocol works, which is what I'm bypassing.

The Galaxy Nexus and the iLuv adapter I modified are both CTIA standard.  If I was trying to switch from CTIA to OMTP, that would be a simple swap of two wires.  No resistors would be needed.

As far as integrating with yours goes, just because it's CTIA standard, that doesn't mean that these resistor combinations will do what you want.  It just means that pin 3 is GND and pin 4 is MIC.  The iDevices use CTIA also, but my headset adapter obviously does not work with them because they use an entirely different method.  Even within Samsung phones, with the Note line, my adapter doesn't control FWD and BACK, it does volume down and up.  So there's a lot more to it than just simply CTIA or OMTP.

You may want to consider a bluetooth solution, like this Jabra Play.  I have the predecessor, the Clipper and it will give you the controls you want and a wide compatibility across different phones in the future.  
This looks like what I may be looking for... I just received a new JVC marshmallow headset that was made for i-devices that I hoped would work on my Sony Xperia Tipo (which uses the CTIA standard), but alas only the middle button worked. I cracked open the remote and this is what I found (see image). There are two tiny resistors on the back side of the PCB. The one closest to the mic says "418" (this also happens to be near the "volume up" button. The other one says "818".

If I changed these two resistors with the two mentioned in your instructable, would it make the button visible to the phone? Or do you think swapping the mic and ground wires would work? Or should I do both? I don't want to mess about to much in case I ruin them (cosmetically and functionally, that remote was a pain in the butt to open and will need a little TLC), but I would really like a headset that I can use to answer calls, and use to control my music. I'm hoping that it would be possible to configure it as follows:

Middle button: Play/Pause/Answer/End Calls

+ button: Volume Up/Skip Forward (and if possible forward search a track if held down. Is there an app that allows this?)

- button: Volume Down/Skip Backward (and of course rewind a track if held down)

This is what a bluetooth headset that I have can do, but I rarely use it as it's uncomfortable to wear and its battery doesn't last long. A wired headset gives better sound quality anyway (all without draining your phone's battery) and not even the best bluetooth headset in the world would convince me otherwise. I'm not prepared to pay a lot for a headset that will do all this and in the end will die because of poor materials or crap design.

I would rather modify a cheaper one and not lose as much and just buy another when the first one dies. So, er... if this possible or am I clutching at straws? I chose this headset as a lot of reviews praised the microphone and I've used the mashmallow earphone before so I know how comfy they are. That is something worth spending the time to work with!
The goal of this modification is to connect pin 3 of the jack (GND) to pin 4 (MIC) and do it through different resistors to send a FWD or BACK command. That'll be step one for you, to determine if your phone will even accept those commands. In my limited experience, not many do and I've never tested a Sony. My installation of the resistors just uses the installed switches to do it and the layout of that particular controller just happened to work well.

Without inspecting your circuit further, I can't say for sure about whether replacing your resistors will make it work, but I suspect not. That was not the case for mine. None of the original circuitry was intended to do what this modification does.

Since the middle button is working, you could just use something like Jay's Headset Control App or Headset Button Controller. That wouldn't give you use of the other buttons, but will let you do volume and skip functions. I'm not aware of any apps that will let you customize the extra buttons anyway.
Pretty much what I did except I added new ear pices instead of a mini jack socket. I agree that this is much easier.
I do think you're project is interesting. I took a HTC three button headset and upgraded the earplugs with earplugs from a pretty good Shure headset with faulty cabling. After buying my new phone, a Samsung Note 2, it still works but as you write it controls the volume instead but can be changed with a headset app.
kapnobatai,
did you try this mod on the AKG 451 remote? Interested to know if it was successful or not!

Cheers!
Hi, great hack, congrats! one question: if I understood right, you added the resistors only for the nexus to recognize and execute 'skip forward' and 'skip back'. couldn't this be recognized and included along with the 'play/pause' trigger by a custom app such as Headset Button Controller or JAYS Headset Control?thanks
As far I know, the headset control apps only recognize play/pause button presses. I use JAY'S and I know there are no options for the fwd and back buttons. I'm not sure if it's possible or not.
Theoretically, as long as the device recognize the 'skip' commands, they should be found somewhere in order to be included as buttons. I'll contact the apps developers, but I suspect this is possible only at a deeper ROM level. I ve read somewhere that the fruit company has the patent on this kind of 'resistance change trigger' for volume control. thanks anyway, it s an interesting subject, because, obviously, if integrated in an app, the skip functions can be also customized as any kind of command. I ll try you hack on the remote from AKG K451, but I have to check if its microphone will work with android based devices. Thanks for sharing!
More Comments