Connect a radio

Radio channels need APRS Connect Pro. APRS-IS does not. Every radio type is still listed on the Add channel sheet without Pro; choosing one opens the plans.

APRS Connect speaks to real radios through several kinds of KISS TNC, and to the internet backbone with no radio at all. Every connection is a channel on the Radio screen on the tab bar. This page lists what's available and which guide to read next.

The six channel types

Tap Add channel on the Radio screen and pick what carries it:

  • Bluetooth TNC: a paired Bluetooth Classic KISS TNC, such as a Kenwood TH-D74 or TH-D75 with its built-in TNC, or a Mobilinkd. Pair in Android first, then pick the radio from the paired list. → Bluetooth KISS TNCs
  • Bluetooth LE TNC: a BLE KISS TNC such as a Mobilinkd TNC4 in LE mode or a B.B. Link, or a LoRa APRS tracker running CA2RXU's firmware. Nothing to pair: the app scans for the device advertising nearby. → BLE TNCs
  • USB TNC: a KISS TNC on an OTG cable, such as a Mobilinkd TNC4, a TNC-X, a TNC-Pi, a machine running Direwolf, or a Kenwood data cable. → USB serial TNCs
  • Audio modem: no TNC at all, just an audio cable (or VOX) between the phone and the radio, with the app doing the AFSK 1200 modulation itself. → The AFSK audio modem
  • Network TNC: KISS over TCP to Direwolf or any network TNC on your LAN, or plain text to a LoRa APRS iGate's TCP port, receive-only if you like. → KISS over TCP
  • APRS-IS: the internet backbone over your phone's own connection. No radio required. → Connect to APRS-IS

The iPhone app offers four of these: Bluetooth LE TNC, Audio modem, Network TNC and APRS-IS. Bluetooth TNC and USB TNC are Android-only.

The Windows app has all six. Its audio modem uses the computer's sound devices in place of a phone's audio socket.

Choosing a channel type

Channel type Hardware needed Cable? Typical use
Bluetooth TNC A radio or TNC with Bluetooth Classic KISS (TH-D74/D75, Mobilinkd) No Mobile or portable use with a handheld
Bluetooth LE TNC A BLE KISS TNC (Mobilinkd TNC4 in LE mode, B.B. Link) or a LoRa APRS tracker No The same, with newer low-energy TNCs, or on a LoRa APRS network
USB TNC Any serial KISS TNC + an OTG cable Yes A fixed-station TNC on a wired connection
Audio modem A radio with speaker and microphone access Usually Any radio, with no TNC hardware
Network TNC Direwolf, a network TNC, or a LoRa APRS iGate you can reach No A soundcard TNC or SDR receiver on another computer, or a LoRa iGate's feed
APRS-IS None No Internet-only APRS for messaging, maps and services, with no radio

Channels: any combination, at once

A channel is one way onto the air, and you can run several: your handheld over Bluetooth, the shack Direwolf over the network, and APRS-IS, all at the same time. Each channel has its own name, its own switch, and its own row on the Radio screen showing its live state and traffic counters.

Two rules keep this honest:

  • One live link per radio type. The phone has one Bluetooth Classic socket, one USB connection and one microphone, so switching on a second channel of one of those types turns the first off. The app says so before you tap, naming the channel that will drop: one Bluetooth TNC link at a time. Network channels (APRS-IS, KISS over TCP) have no such limit and run concurrently.
  • Beacons decide where they go. Each beacon has a Send via setting: either EVERYWHERE, meaning every connected channel including ones you add later, or only the channels you name. A beacon pinned to channels that aren't connected does not go out and does not fall back to another. Messages are different: a message you send goes out over every connected link, and the packet log records which ones carried it. RF and internet status each show their own indicator on the messaging screens and the Map, Stations and Packets tabs.

Channel status

The Radio screen distinguishes intent from reality. A switch that's on but a link that isn't working says so, in words, with the reason:

  • Each channel row shows its state (CONNECTED, CONNECTING, RECONNECTING or ERROR), its received and sent counters, and when it last heard anything.
  • A link that's up but has heard nothing for a while shows CONNECTED · QUIET with an explanation: a quiet channel is normal in low-traffic areas, but it can also mean the radio's volume is down.
  • A channel that can't come up says why the switch is disabled: "Set your callsign first", "No device paired", "No host set".
  • A hardware TNC that connects but never hears anything gets the right first question on screen: check the radio is in KISS mode.
  • Every row has its own RECONNECT button, and its own BEACON button that sends your enabled beacons over that channel alone.

Diagnostics

When a link will not come up, or comes up and stays quiet, the row cannot say why. Every channel keeps a record of what it did, the last 2,000 entries: each connection and disconnection with its reason, and every packet received and sent on it, as the app decoded it. Bluetooth, Bluetooth LE and USB channels add their module's own record underneath: the device and driver matched, the services a device offers, pairing, the port opening, and the size of each chunk each way. The app's own log comes with it: messages sent and why any of them waited, the shared station, sync, and which APRS-IS server each login reached. So do the settings that most often explain a problem, such as Send via, message retries, your beacons, background running and Android's battery optimisation, but never a passcode or password.

The records are kept on the phone and survive the app restarting, so you can send one after reopening the app and it still covers what went wrong. Each line carries its date and time on the device's own clock, and the top of the file says how far that clock is from UTC. Packets received over APRS-IS are the one exception: there are too many to keep, so they are only in the record until the app restarts.

Diagnostics, at the bottom of the channel's settings, has two buttons. Send to support attaches the whole support file to a message in your Feedback thread: the app version, your settings and the app's log at the top, then every channel, starting with this one, so a "will not connect" report arrives with the facts that answer it. The file says which channel it was sent from. It is stored privately, where only support can open it, and your own copy stays on the phone: tap it in the thread to read or share it. Share file hands the same file to another app as a text file.

The packets in the record are the ones your radio heard on a shared frequency, so other stations' callsigns and positions are in it. Nothing leaves the phone until you send it.

You can also send it from your Feedback thread: tap Send support file. Use that when you do not know which channel the problem is on, or when it is not about a radio at all, such as a message that waited before going out.

A line that repeats, such as a radio that is out of range being tried every minute all night, is shown once with a count and the time of the last one.

Start here

A fresh install comes with a single APRS-IS channel, so the app works before you own any hardware, as Getting started explains. When you're ready for RF, add a channel for whatever TNC you have, then send your first beacon. For receiving with the screen off, read Background & battery.

Once a radio is connected, two things become possible that were not before: running as an IGate, passing traffic between that radio and the internet, and running as a digipeater, repeating what it hears back onto the air. Both are off until you turn them on.

Last updated 9 October 2026