RadioChat APRS: The Open-Source Android APRS Client with Native Bluetooth TNC Support

RadioChat APRS Android application interface showing live OpenStreetMap tracking and packet chat

TL;DR: RadioChat APRS is a free, open-source Android application developed by Luis Almonte (HI3LAG) that turns Bluetooth-equipped handheld transceivers (such as the BTECH UV-PRO and Radtel RT-950 Pro) into complete APRS stations. Built with Kotlin and Jetpack Compose, it supports two-way BLE packet communications, DireWolf KISS over TCP, APRS-IS gatewaying, live OpenStreetMap tracking, and messaging with ACK delivery receipts.


What Is RadioChat APRS?

RadioChat APRS is a modern, open-source Android application designed to operate as a full-featured Automatic Packet Reporting System (APRS) terminal over wireless Bluetooth connections. Created by Luis Almonte (HI3LAG) under the GPL-3.0 license, the app eliminates the need for bulky external audio cables or standalone hardware TNCs by interfacing directly with the built-in Bluetooth Low Energy (BLE) modems found in modern handheld radios.

+-----------------------------------------------------------------------+
|                       RadioChat APRS on Android                       |
|   (Kotlin · Jetpack Compose · Live Map · Chat with ACKs · iGate)      |
+-------------------+-------------------+-------------------------------+
                    |                   |
                    v                   v
+-----------------------------+   +------------------------------------+
|  Wireless BLE TNC Link      |   |  Network & Server Transports       |
|  · BTECH UV-PRO (TX / RX)   |   |  · DireWolf KISS over TCP (8001)   |
|  · Radtel RT-950 Pro (RX)   |   |  · APRS-IS Internet Backbone       |
|  · Vero VR-N76 / GA-5WB     |   |  · RF to APRS-IS iGate Gateway     |
+-----------------------------+   +------------------------------------+

Traditional mobile APRS setups often required specialized audio interface cables (such as Mobilinkd or audio-jack cords), external soundcards, or dedicated tracker boxes. RadioChat APRS utilizes modern smartphone capabilities and native Bluetooth Low Energy protocols to establish a wireless digital data bridge between your handheld transceiver and your Android device.


Supported Radios and Connection Transports

RadioChat APRS features a modular transport engine (KissFrameHub) that allows multiple data paths to operate simultaneously.

+------------------------------------------------------------------------+
|                          Supported Transports                          |
+----------------------+--------------------+----------------------------+
| Hardware / Service   | Connection Method  | Operating Capability       |
+----------------------+--------------------+----------------------------+
| BTECH UV-PRO         | Bluetooth LE       | Full 2-Way TX and RX       |
| Radtel RT-950 Pro    | Bluetooth LE       | RX Only (Ideal for iGate)  |
| Vero VR-N76 / GA-5WB | Bluetooth LE       | Benshi Protocol Support    |
| DireWolf (PC / RPi)  | KISS over TCP      | Full 2-Way TX and RX       |
| APRS-IS Network      | Internet Socket    | Global Message & Map Feed  |
+----------------------+--------------------+----------------------------+

1. BTECH UV-PRO (Benshi Protocol over BLE)

The BTECH UV-PRO (along with compatible siblings like the Vero VR-N76 and Radioddity GA-5WB) utilizes the Benshi protocol over Bluetooth Low Energy. RadioChat APRS communicates directly with the radio vendor GATT service (00001100-d102-11e1-9b23-00025b00a5a5), automatically registering for status events and exchanging fragmented AX.25 TNC frames. This configuration provides full two-way RF transmit and receive capabilities without requiring cables.

2. Radtel RT-950 Pro (Plain BLE KISS)

The Radtel RT-950 Pro exposes a standard BLE KISS interface (0000FFE0-...). Because the radio firmware does not trigger PTT over Bluetooth, the app supports it as a dedicated receive-only receiver. Paired with a phone, the RT-950 Pro functions as a complete, pocket-sized RF-to-Internet iGate station.

3. DireWolf and KISS TCP Servers

Operators running DireWolf on a Raspberry Pi, desktop PC, or network-attached station can connect RadioChat APRS via binary KISS over TCP (e.g. 192.168.1.10:8001), routing network packets directly to their base station transceiver.

4. APRS-IS Internet Backbone

The app connects to global APRS-IS tier-2 servers (rotate.aprs2.net:14580) with range filters (r/lat/lon/km, g/callsign, p/prefix), allowing full communication, tracking, and packet monitoring even when operating away from RF transceivers.


Key Features and User Experience

RadioChat APRS is built around four core navigation tabs in a clean, reactive Jetpack Compose interface:

+------------------------------------------------------------------------+
|                           Core Screen Modules                          |
+-----------------------+-----------------------+------------------------+
| Interactive Chat      | Live Map Tracking     | Packet Inspection      |
+-----------------------+-----------------------+------------------------+
| · Modern bubble UI    | · OpenStreetMap tiles | · Real-time RF monitor |
| · WhatsApp-style ACKs | · Hessu station icons | · Route & digi paths   |
| · SSID-aware threads  | · Sent beacon tracks  | · Raw AX.25 frame view |
| · Transport badges    | · Auto-recenter GPS   | · Callsign search      |
+-----------------------+-----------------------+------------------------+

1. Modern APRS Chat with Delivery Receipts

APRS messaging often feels clunky on older software. RadioChat APRS modernizes message exchanges with:

  • Threaded Conversations: Organizes incoming and outgoing messages by callsign and SSID.
  • Message Delivery Acknowledgments (ACKs): Displays WhatsApp-style checkmarks showing when a packet has been transmitted and acknowledged (:CALLSIGN :text{id).
  • Transport Badges: Visual tags identify whether a message arrived via BLE RF, DireWolf TCP, or APRS-IS.

2. Live OpenStreetMap (OSM) Mapping

Powered by the open-source osmdroid library, the mapping view plots surrounding stations using official Hessu APRS symbols. It displays station tracks, last-heard timestamps, and a distinct polyline showing your own transmitted beacon history.

3. Real-Time Packet Monitor and Inspector

The Logs tab delivers an unfiltered look at every packet arriving on the RF link or internet socket. Operators can inspect digipeater paths, SSID hops, station telemetry, and raw packet strings for debugging antenna setups and propagation.

4. Built-In RF-to-IS iGate and Smart GPS Beaconing

With a single toggle, the app operates as a self-contained APRS iGate, receiving over-the-air packets via Bluetooth and relaying them to APRS-IS. It also handles autonomous GPS beaconing based on speed, heading changes, and configurable time intervals.

5. Strict SSID-Aware Engine

RadioChat APRS enforces strict callsign-plus-SSID identity separation. A message or position beacon sent to 9M2PJU-7 (handheld) is never confused with 9M2PJU-1 (digipeater) or 9M2PJU (base station).


Software Comparison

The table below contrasts RadioChat APRS with other popular Android APRS tools:

Feature / Metric RadioChat APRS APRSdroid TrackDirect YAAC
Primary Platform Android 12+ (Modern Compose) Android (Legacy UI) Web / Mobile Desktop Java
Native BLE Radio Support Yes (BTECH UV-PRO, RT-950) No (Requires audio/serial TNC) No (APRS-IS only) No (Requires serial/TCP)
Two-Way BLE Transmit Yes (Confirmed on UV-PRO) No No No
Built-in RF-to-IS iGate Yes (Autonomous via BLE/TCP) Yes (With external TNC) No Yes (Full Gateway)
KISS over TCP (DireWolf) Yes (Native Client) Yes No Yes
Map Engine OpenStreetMap (osmdroid) OSM / Mapbox / Offline Leaflet Web Map OpenStreetMap / Custom
Delivery ACKs in Chat Yes (Modern visual checkmarks) Basic text ACK No Detailed list
Pricing & Freedom Free & Open Source (GPL-3.0) Paid on Google Play / Free APK Free web service Free & Open Source

Step-by-Step Setup Guide

Getting started with RadioChat APRS takes only a few minutes:

  1. Download and Install: Download the latest release APK from the official RadioChat APRS GitHub Releases page and allow installation on Android 12 or newer.
  2. Configure Station Identity: Open the Config tab, enter your amateur radio Callsign and SSID (e.g., 9M2PJU-7), and enter your APRS-IS passcode.
  3. Pair with Your Bluetooth Transceiver: Put your radio in Bluetooth pairing mode, navigate to Links & network -> Bluetooth, select your model profile (BTECH UV-PRO or Radtel RT-950 Pro), and scan to connect.
  4. Start Operating: Switch to the Chat tab to message stations, open the Map tab to view local traffic, and check the Logs tab to verify packet routing.

Frequently Asked Questions

Which Android versions are supported by RadioChat APRS?

RadioChat APRS requires Android 12 (API level 31) or higher, as it utilizes modern Bluetooth Low Energy APIs and Jetpack Compose libraries.

Does RadioChat APRS require an external TNC or cable?

No. When used with supported Bluetooth radios like the BTECH UV-PRO or Radtel RT-950 Pro, the app connects directly to the transceiver internal Bluetooth modem without cables or external TNC boxes.

Can RadioChat APRS work without a physical radio?

Yes. You can use RadioChat APRS as an internet-only APRS station by connecting directly to the APRS-IS network over Wi-Fi or mobile data.

Is the app completely free and open source?

Yes. RadioChat APRS is licensed under the GPL-3.0 license. It contains no advertisements, no tracking telemetry, and no paid feature locks.

How does the iGate feature operate on a smartphone?

When enabled, the app receives incoming APRS packet frames from your Bluetooth-connected radio and automatically forwards them over your phone internet connection to the global APRS-IS network.


Sources and Further Reading

Post Comment

You May Have Missed