Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



This is a fork of the Android Codec2 Walkie-Talkie, updated to support M17 streaming KISS protocol over Bluetooth & USB. This is an Amateur Radio DV (digital voice) communication protocol using the using open source vocoder, Codec2.

Screenshot of main Activity


This Android application is a digital voice frontend for your radio. It connects to your M17 KISS Bluetooth/USB modem, sends and receives M17 link setup and audio frames, which are encapsulated inside KISS frames. It does not deal with radio management, modulation, etc. The modem and the radio handle the M17 data link layer and physical layer.


  • Android 8.0 (API 26) or higher
  • Modem or transceiver which supports M17 KISS protocol over Bluetooth or USB


  • PTT button, push and talk, an M17 digital voice stream will be initiated and maintained with the modem.
  • USB serial connectivity (38400 bps, 8 data bits, 1 stop bit, no parity), just select this app after connecting to USB and it will use given connection.
  • BluetoothLE connectivity use the Connect/Disconnect button to connect/disconnect BLE devices. It will attempt to connect to the last connected device. Otherwise it will scan for devices.
  • Callsign Identification enter your callsign once connected in order to be able to transmit.
  • Caller Identification received callsign is clearly displayed when an M17 DV call is received.
  • User Preferences BLE device preference and user callsign will be saved for later.

Suitable radios and modems

  • Tested, works:
    • Mobilinkd TNC3 (BLE & USB) using experimental firmware
    • Mobilinkd NucleoTNC (USB) using stock firmware
    • Kenwood TM-V71A
    • Kenwood TK-790

Related Projects


  • What does this do?
    • This app is part of a complete system, which includes an Android device, an M17 modem, and an FM transceiver to do M17 digital voice communication. It is a half-duplex transceiver.
  • Why would I want to use this?
    • This is designed to get people experimenting with M17 digital voice using equipment that they may already have available.
    • It is designed to allow M17 developers and early adopters a tool for research and development.
  • What is the current state of this project?
    • It is very new, has bugs, but is the best thing at the moment to do bi-directional voice communication with M17.
  • What equipment do I need?
    • You will need a fairly recent (Android 8.0 or newer) Android device to run the app.
    • You will need an M17 KISS TNC (Mobilinkd devices currently).
    • You will need to install experimental firmware on the Mobilinkd TNC3.
    • You will need to configure the Mobilinkd TNC using the Python config app.
    • You will need an FM radio capable of 9600 baud modulation (direct access to modulator and FM discriminator).

Developer Notes

Bluetooth support was dropped in favor of BLE because latency/jitter was significantly improved.

A change was needed to the TNC3 BLE module configuration in order to cleanly stream frames across the BLE link without significant latency/jitter.


  • Configuration screen for USB serial parameters, callsign, etc.
  • Received callsign history.