*****Update: As of version 3.106 for android, Zello has included VOX as a way to PTT. This is good news if you are looking for a way to connect an android phone directly to a radio. I will cover connecting radios directly to android phones in another post. This also makes a lot of the circuit posted below obsolete. *******
This simple interface allows Android Smartphones to tie into E/M interfaces. This is great for adding Zello functionality to your radio system. Getting Zello to talk to radios is nothing new. Zello officially supports it (at a cost) and others have found out that you can use a PC running the Zello client using VOX to connect a radio. Using your smartphone has a few advantages.
Smartphones use less power and take up less space than ordinary PC’s. Having a radio connected to a PC can be fine for some but for many they consume more power, take up more space, and can be more expensive. Its pretty easy to find a used android phone for cheap. Many of you probably have one stuffed in a drawer waiting for a task such as this. Another added benefit is that smartphones have built in cellular data connectivity. If you want to add this to a remote site, or perhaps to a mobile tactical comms unit, you can without worrying about network connectivity. So with all the benefits lets take a look at how this thing works.
Zello on android has a nice feature that allows you to map the PTT button. This interface takes advantage of this by using the E/M interface to mimic media control buttons on the Audio line port. Take a look here for a better understanding of how this works. This is used for Radio system audio going out to Zello users. In the reverse direction, we will use Voice Activity Detection (VAD) to send audio from Zello users to the Radio system. A note about this, You will want to make sure that you configure Zello not to have all the tones and chimes as they can cause conflict with the E/M port. An example of this is the Ready to send tone. This is the tone that you hear when you push the PTT button in Zello. What can happen is that when the E/M port “pushes” the button to talk, The tone gets played out the audio line which may cause VAD to pick up the tone and send that tone into the radio system and cut off the radio traffic that was being sent out to the Zello users. If the Radio user is still talking after the tone, The event will happen again causing a strange loop. Be sure to configure Zello to not play sounds to avoid this. Along the same lines, ANY tones on the phone will get sent out the audio interface which means you will want to turn off all notifications in your android system and set your ringer, and anything else that might blast audio, to silent.
A few notes on the Schematic. Not all phones detect the button press the same. The 135ohm resister value will need to be changed to meet your needs. Refer to the android specs listed here to get the button press you are after. Also, There is a resistance in the PC817 opto-isolater that will need to be accounted for. It isn’t much but may be enough to change your calculations. You can try to bypass the resistor completely to see if your phone sees it as Play/pause/hook.
For the Pinout on the RJ-45 connector, you will need to make a cat5 cable that matches your interface. Page 71 on the GGM 8000 manual here has some pinouts for motorola CCGW’s. Cisco LMR gateways have pinout documentation here (3-3 and 3-4).
I made a drawing in Visio to make things a little clearer and changed two resistors to variable to allow for adjustment to match different phones. I had issues where different phones would recognize the device differently.