Your rating: None Average: 5 (5 votes)

NRad is an experimental client for Zello, the leading push-to-talk service providing instant voice communication to over 130 million users worldwide.

(It's also famous for being used to organize anti-government protests in places like Hong Kong or Venezuela)


You will need a Zello account to transmit or to access some restricted channels.

Because of API limitations the official Zello app (Android/iOS/Windows PC) is required to open an account with Zello but can be downloaded (without Play store) from

This is experimental software - It stores passwords in clear text and may occasionally crash.


Application versions: 
File harbour-nrad-0.4.1-1.armv7hl.rpm3.62 MB18/05/2020 - 11:39
File harbour-nrad-0.4.2-1.armv7hl.rpm3.62 MB19/05/2020 - 09:56
File harbour-nrad-0.4.3-1.armv7hl.rpm3.62 MB20/05/2020 - 12:45
File harbour-nrad-0.4.4-1.armv7hl.rpm3.62 MB21/05/2020 - 23:46
File harbour-nrad-0.4.5-1.armv7hl.rpm3.62 MB30/05/2020 - 01:10

0.1.0 initial proof of concept release

0.1.1 fixes stuck rx/tx status when switching channels

0.1.2 adds basic channel search

0.1.3 adds select and save channel from search page

0.1.4 adds recovery from connection errors

0.1.5 fixes sound issues when jumping between sampling rates

0.1.6 adds status and a re-designed cover page 

0.1.7 fixes sound issues occurng after prolonged use

0.1.8 fixes minor reconnection issues and issues with key expiration

0.1.9 fixes minor qml errors and improves usability

0.2.0 adds conversations page

0.2.1 fixes forced scrolling to bottom in conversations

0.2.2 introduces sections and indicators to the conversations page

0.2.3 improves channels search

0.2.4 adds optional monitoring channel

0.2.5 adds support for receiving text messages

0.2.6 adds support for receiving location messages

0.2.7 adds support for receiving picture messages

0.2.8 adds support for sending text messages

0.2.9 fixes stuck online users display

0.3.0 adds initial support for notification sounds

0.3.1 adds notifications

0.3.2 adds notification sounds

0.3.3 adds some minor visual changes

0.3.4 adds optional PTT button to the conversations page

0.3.5 adds ability to send own location

0.3.6 adds channels overview page

0.3.7 adds channel icons to cover page

0.3.8 improves error handling and fixes crashes when dealing with non-ascii characters

0.3.9 adds support for hardware keys

0.4.0 adds additional notification sound

0.4.1 improves enabling/disabling of monitoring channel

0.4.2 adds support for wired headset keys

0.4.3 fixes multiple pulse sinks being created unnecessarily

0.4.4 adds mute buttons

0.4.5 fixes display issues with list of hardware buttons


elite7's picture

what operating system is this application for?

unmaintained's picture

Sailfish OS. But it should run (without QML-UI) on things like e.g. Raspbian as long as there is pulse audio running.

tjsawyer's picture

Seeing this error ... just seems to loop over and over.   Running on a RPI4

TRACE SocketWrite message: {logon 17  mytokenstuff channelname username password false}
INFO HandleSocketWrite succes: true
TRACE HandleSocketRead rec: {"success":true,"seq":17}
INFO HandleSocketRead - found answer command: logon, sequence: 17
INFO HandleAnswerLogin - success: true


TRACE HandleSocketRead rec: {"command":"on_channel_status","channel":"PC 911 Dispatch","status":"online","users_online":3,"images_supported":false,"texting_supported":false,"locations_supported":false}

INFO HandleOnChannelStatus - channel: PC 911 Dispatch, status: online, users: 3, images: false, texting: false, locations: false
{"command":"on_channel_status","channel":"PC 911 Dispatch","status":"online","users_online":3,"images_supported":false,"texting_supported":false,"locations_supported":false}

TRACE HandleSocketRead rec: {"command":"on_error","error":"false"}
INFO HandleOnError - message: {"command":"on_error","error":"false"}





INFO WsDisconnect disconnected from: wss://



Chriso's picture

TRACE HandleSocketRead rec: {"error":"channel is not ready"}
INFO HandleUnknownEvent - message: {"error":"channel is not ready"}

after short time

markomars's picture

same error, after some short time

INFO HandleRecording stream: 14391, l: 50, rms: 0, vox: false, threshold: 10
TRACE HandleSocketRead rec: {"error":"channel is not ready"}
INFO HandleUnknownEvent - message: {"error":"channel is not ready"}
TRACE HandleRecording stream: 14391, rms: 0, vox: false, threshold: 10
INFO HandleRecording stream: 14391, l: 50, rms: 0, vox: false, threshold: 10
TRACE HandleSocketRead rec: {"error":"channel is not ready"}
INFO HandleUnknownEvent - message: {"error":"channel is not ready"}
TRACE HandleSocketRead rec: {"error":"channel is not ready"}
INFO HandleUnknownEvent - message: {"error":"channel is not ready"}

markomars's picture

Hi, seems that in new version there are no switches like: --audio-source and  --vox-threshold

Could you add them? 


entra@raspberrypi:/home/entra/nrad# ./nrad --audio-source
flag provided but not defined: -audio-source
Usage: ./ <parameters>



Thanks a lot, really nice work! 

unmaintained's picture

I've currently lost access to my ARM build a few weeks ago (and it won't cross compile on x86 for some reason) so please let me know if this is still an issue.

trial's picture

Do one needs to have a payment plan in order to use the app?

unmaintained's picture

You don't need a payment plan with Zello to use the free service. In fact someone who would like to just listen to various channels without transmitting would not need any Zello account at all.

You will still need to have some kind of data plan or wifi, of course, to be able to access the service from your phone.

unmaintained's picture

With Zello there is

a) a free service aimed at the general public

b) Zello Work service aimed at businesses and organizations starting from $8 per user per month

c) on-premises server license (+$10k to set up)

unmaintained's picture

Some more than others. 

explit's picture

Could not install, it doesnt find libopusfile. Could you fix it please? THX

unmaintained's picture

Issue should be fixed now.