I have a little mystery for you...

I want to connect my motorcycle helmet communication set to my Android phone, including the push-to-talk (PTT) functionality. This is a simple wired setup, not Bluetooth.

The communication set in the helmet is straightforward: two 32 Ohm drivers and a microphone. I made a cable according to the CTIA specifications for 3.5 mm headjacks at source.android.com. In the cable I spliced in a push button for the PTT function:


simulate this circuit – Schematic created using CircuitLab

(More about the resistor later) It can't be much simpler than this, right? Now the weird part:

Push to talk doesn't work.

The speakers are working; the microphone works fine, I can talk and record sound from it. Yes, I know ground is the 3rd ring, not the 4th (last). However, whatever I do, pushing the button does not activate the PTT function.

Of course I tested it with an off-the-shelf headset which works perfectly. I measured its characteristics: drivers are 32-33 ohm, microphone 1.13 kOhm and pushing the button shorts the microphone circuit.

The microphone in my helmet has a slightly lower DC impedance (around 890 Ohm) than the Android specification (>= 1000 Ohm), so I inserted a resistor in line with the microphone; I tried values from 100 to 1 kOhm, but still no PTT function. Electrically I cannot find any difference between the off-the-shelf headset and my setup when measuring at the 4-pin connector.

But, it even get's weirder. If I unplug the cable from the helmet (so no drivers or microphone, just the cable with the switch), PTT works. Of course there's no sound but the application reacts to the pushes.

And oh, I tested with two different Android phones by different manufacturers: the same result.

The only difference that I can possibly think of is that the microphone in the helmet might a dynamic type while the one in the headset could be an electret; but how to test that without breaking the headset open?

Could it be that Android phones put a low-frequency signal on the microphone line to detect one? But surely, a 1 kOhm resistor would be enough to fool that.

More info:

Mic open circuit voltage: 1.79 Volt (measured at the headphone jack)

My cable:
Microphone DC resistance: 0.90 kOhm
With microphone attached: 0.54 Volt
Button closed: 0.00 Volt

Microphone DC resistance: 1.13 kOhm
WIth microphone attached: 1.32 Volt
Button closed: 0.00 Volt

Fixed 1 kOhm resistor: 0.58 Volt

So definetely a different voltage, which is not explained solely by DC resistance..

  • \$\begingroup\$ Measure the voltage on the mic signal as you press the switch. Try this with both your new setup and with the off-the-shelf headset. Phones detect the PTT switch using the mic on this voltage. You either miswired the switch, or the Vgs-off of the JFET inside the mic is very low (although your series resistor experiment should have worked around this) \$\endgroup\$ Jun 24, 2018 at 0:20

3 Answers 3


Well, I figured it out. First, I discovered that the helmet microphone is an electret and I reverse-biased it. Oops. I discovered this by plotting a U/I curve of the microphone; I noticed the diode-like curve so I reversed polarity and also measured two other headsets.

Microphone U/I curve. mV vs uA

(Horizontal is milliVolt, vertical is micro-Ampères)

Still, the helmet_rev curve is way higher and even with the correct polarity PTT didn't work because the voltage over the mic was still low (0.74 V). So I plugged in the second helmet set that I have, and that worked immediately.

Conclusion: the microphone in the helmet is broken. Not sure how since it still captures sound, but in any case it is out of spec for this application. Could I have damaged it by connecting it in reverse, even at such low voltages?

  • \$\begingroup\$ It is totally possible that you damaged the helmet mic by reverse biasing it. Electret microphones have a built in JFET transistor. \$\endgroup\$ Jun 24, 2018 at 21:06

From reading your fairly long question posting it seems to me that you have to do some very careful quantitative evaluation of both the working setup with the external setup that seems to work and the helmet kit that does not seem to work.

For the best setup you should measure things from GND at the phone's jack. Things that I can think of for you to check and compare:

  1. DC voltage between MIC and GND when the PTT switch is pressed. Measure at the phone.
  2. Compare the size and series resistance of the connecting wires.
  3. Does sparing GND between the speakers, MIC circuits cause an elevation of the GND level between the phone and the MIC ground due to current traveling through the common wire.
  4. Have you tried running separate GND wires from the plug at the phone for the speakers and for the MIC/PTT switch?
  • \$\begingroup\$ 1: I'll do that, though a bit tricky with the headset. 2) My wires are thicker, for sure. Point 3/4 are worth investigating. \$\endgroup\$
    – JvO
    Jun 23, 2018 at 23:52
  • \$\begingroup\$ Upvoting because you did point me in the right direction (i.e. real qualitative measurements) \$\endgroup\$
    – JvO
    Jun 24, 2018 at 20:49

The funny thing about this wiring is that depending on Mic DC characteristics the LRMG pinout might actually work too.

So, the first thing I would try is disconnect M wire and see if speakers still work. If not, then you have LRMG pinout, which somehow makes more sense to me.

Also the link you provided has very simple reference test circuit for headset (with bias resistor and 1.8V~2.9V bias voltage). Why don't you make it and try as they suggesting?

That link has "device spec" too, with exact specification as to how the phone detects various hardware configurations. Compare those to what you measure on your cable.

  • \$\begingroup\$ I measured the off-the-shelf headset of course, it has the CTIA layout. Yes, LRMG makes more sense but someone wiser than us decided otherwise. Note that I had swapped the Mic and Ground wires then pushing the button would result in an immediate volume boost in the drivers, which does not happen. \$\endgroup\$
    – JvO
    Jun 24, 2018 at 10:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.