Some background information
I have an Android based phone. The headset that came with it uses a TRRS connector. We normally have a button on the headset which when pressed, would allow you to play/pause or pick up calls.
You can read about how this works here: http://www.wisebread.com/build-a-cable-to-control-your-android-phone-while-you-drive
The sleeve of the TRRS and the ring next to it are normally open. The open circuit voltage that we get is around 2.5V (which the phone gives). When we press the button, these two connections essentially get shorted and we get a very small potential difference between these two pins. That's how the phone knows that the button was pressed.
Now, I want to control this button electronically using my microcontroller (MSP430). So, I decided to use an electronic switch.
In the above switch, the 2.5V source on the left and the 33k resistor corresponding to it is my phone. The BJT is used for switching, and the 3.6 voltage source on the right is a high output from my micro-controller.
This is the circuit I had initially thought of (Of course, I'd add current limiting resistor in the base). The problem is, when the BJT is on, I get an expected drop of about 1.026V in the CE junction. So, the ground wire and the wire on the top are not exactly shorted, even though the BJT allows current to freely flow.
What I need
I'd like to short top write to ground electronically, just like a mechanical switch. However, is it possible to do it without using relays and other stuff. Or, people who already have knowledge working with headset buttons, can you provide me with another solution?
Something I haven't tried
A spare TRRS connector is hard to find here. So I haven't tested anything practically. SO, I'm not sure if the sleeve and the ring need to be voltage shorted, or just need to have current passing through them.