KSUN ZL10 Zello Walkie Talkie Hacks and Mods Guide
Article by KM4OVZ
In this article we will be hacking and improving the cheap Zello walkie talkies that you can
get online for around $60. These radios are essentially a low power android phone (running a Quallcomm 8909 aka Snapdragon 210). The OS has been stripped down to the bare essentials for running Zello and doing basic WiFi and cellular configurations.
Hacking this devices is not really a true "hack" but just knowing which available tools will interface with these radios and give you the power to change things within the OS. We will be able to upload our own sound effects to Zello, change the screen resolution for much improved Zello interface usage and adjust things like screen timeout time.
To get started, we need to get the Android Debug Bridge (adb) running on our computer. On linux it's as easy as running 'sudo apt install adb'. For Windows users, this guide has all the info you need:
https://www.xda-developers.com/install-adb-windows-macos-linux/
Once it's installed/running, you need to plug in the radio. The provided USB cable is POWER ONLY, so you'll need to source a cable that does data as well. When you plug it into a windows computer it will say "setting up ANDROID". On Linux you can see the device as "Bus 001 Device 022: ID 05c6:9091 Qualcomm, Inc. Intex Aqua Fish & Jolla C Diagnostic Mode" when you run the 'lsusb' command.
Once you have confirmed that it is connected and detected, run 'adb devices' and make sure it shows up like "b298c775 device" the numbers may be different for you. If all is well and you see the device listed, move on to the next step.
Run in your terminal or cmd 'adb shell'. This will put you in a terminal instance running on the radio's OS. It is from this terminal that our modifications will be carried out.
For fixing the screen to a more usable and pleasant size, run 'wm size 248x200'. This will resize the native resolution to 248 by 200 pixels. I've tried many different combinations and this one was the best. Feel free to try any other combo of Width and Height if you want. The stock resolution is 160x128, and the command 'wm size reset' will revert it too.
For a longer screen timeout-time, run 'settings put system screen_off_timeout <time in milliseconds>'. So for a 1 minute timeout (default) run 'settings put system screen_off_timeout 60000'.
To load your own custom sound effects for Zello to use on PTT and other notifications, create a folder on your computer with the sounds. Name the folder "sounds" and make sure all files are ".wav" format.
Next (inside the adb shell) run 'adb push <path-to-local-folder> /storage/sdcard0/Zello'
In the event that that directory is different on your radio, you may need to manually locate the Zello storage directory. To do this, (inside shell) run 'ls' to list the files in the root folder, and from there start looking in each directory for the Zello folder using the 'cd <folder>' command. You can also attempt to perform a name search but I had no success since there was not a simple search package installed on the radio. There are other ways to search but I'd found the folder already.
In order to actually select your newly loaded sounds on the Zello app, you need to be able to do touch input. But since the screen on the radio is not a touchscreen, you have to use a screen mirroring tool called scrcpy (Screen Copy). On windows there is a tool called "Total Control" but it is chinesium so use at your own risk.
To get scrcpy on your linux machine, run 'sudo apt install scrcpy'
Then with the device plugged in, simply run 'scrcpy' and a small window should appear with the screen mirrored. You can scroll and click the virtual screen to manipulate the Zello app with more control. You can then easily navigate to the custom sound selection screen and pick your sounds.
Any other modifications you want to do can be done using adb. Any standard adb command will work, but keep in mind that the radio is running Android 5.1, which was the version for 2015. Some things have changed in adb since then.
A few more notes:
I've managed to upload EchoLink to the radio using 'adb install <echolink apk>' and it said it succeeded but the app does not show up on the home screen. I know that they have configured the launcher to only show the Zello and Settings app, so if that can be changed then all the installed apps would be accessable. The radio has many apps installed on it, like an audio recorder and a file browser as well as internet browser but without a computer attached, they're useless.