USB serial TNC
A KISS TNC can plug straight into your phone's USB-C port. There is no pairing and nothing to reconnect: the app detects the device when you plug it in and brings the channel up on its own.
What actually works over USB
The hardware that speaks KISS over a USB serial port:
- A Mobilinkd TNC4 over its own USB-C port.
- A TNC-X or TNC-Pi on a USB adapter.
- A Kenwood TH-D74 or TH-D75 in its USB KISS mode.
- A computer running Direwolf, presenting its serial KISS port.
- Homebrew TNCs built on CH340, CP2102, or FTDI bridges.
One caution before you buy a cable: most "data cables" and CAT cables are not KISS TNCs. A Digirig's serial port, and the programming cables sold for most Kenwood and Yaesu radios, carry radio control and PTT, but there is no modem in them. They will enumerate as a serial device and connect, but no packets will ever arrive. (A Digirig works with the app a different way, as a sound device for the audio modem.)
Your phone needs USB host (OTG) support, which nearly every modern Android phone has. If yours does not, the screen says so plainly.
Add the channel
- Open the Radio screen on the tab bar and tap Add channel.
- Pick USB TNC, the one that says "A KISS TNC on an OTG cable".
- Plug the TNC in. It appears under USB devices; devices the app recognises as probable
TNCs are tagged
LIKELY TNCand sorted first. Tap yours.
If the list is empty, the screen tells you what to do: plug the TNC in with an OTG cable, then RESCAN.
The Android permission prompt
The first time you tap a device, Android shows its own dialog asking whether the app may access it. That prompt belongs to Android, not the app, and it can reappear when the device is replugged. On some devices Android offers to remember the choice, and on others it asks each time. If you decline, the device row says so: "Android did not grant access to that device. Tap it again to ask once more."
Once granted, the channel looks after itself. Unplug the TNC and the app notes that it is not attached and says "It will connect on its own when you plug it back in", which it does.
In the browser
USB TNCs also work in the app's browser build, on a computer running Chrome or Edge. Safari and Firefox have not implemented the underlying API, and Chrome on Android does not carry it either. On those, the USB channel type does not appear at all.
The flow is different because a browser will not say a USB device exists until you have chosen it yourself:
- Open the Radio screen and add a USB TNC channel, the same as on Android.
- Tap Choose a USB device. The browser shows its own device chooser, not a list the app builds, with whatever is plugged in.
- Pick your TNC. The browser remembers that choice for this site, so plugging the same TNC in again later reconnects on its own with no picker and no second prompt.
If the TNC is not attached yet, plug it in and tap Choose a USB device again. A browser never shows a device that was not picked.
In the Windows app
The Windows app lists the computer's serial ports itself, so there is no chooser and no permission prompt. Plug the TNC in, add a USB TNC channel on the Radio screen, and pick its port from the list. If the port is not there, rescan. Unplug the TNC and the channel reconnects on its own when it is plugged back in.
Baud rate
The Baud rate is picked from a fixed list (1200 to 115200). The default of 9600 is right for a TNC-X, a TNC-Pi, or a Kenwood's built-in TNC. A native USB TNC such as the Mobilinkd TNC4 has no UART behind the port and ignores the setting entirely.
Getting it wrong on a real serial cable is the hardest USB fault to recognise: the link comes up, shows connected, and delivers nothing but decode failures. If the packet log fills with corrupted frames on an otherwise healthy link, check the baud rate first.
Raise DTR: the setting some radios require
Some hardware only starts talking once the DTR line is raised, because it waits to be told a terminal is attached. Others are wired so that raising control lines does unwanted things, so the app defaults Raise DTR to off and remembers your choice per device: turning it on for one TNC never changes another.
The symptom that says a device needs it is a link that connects and then drops, repeatedly. The port opens, nothing is accepted, and the channel loops through reconnecting. Both behaviours are real and verified: a Mobilinkd TNC4 works with DTR off, a Kenwood TH-D75 works only with DTR on.
The RTS line is never raised at all, deliberately. On many CAT and interface cables RTS is the push-to-talk line, and raising it could key the transmitter simply because a device was selected.
KISS port
Leave KISS port at 0 unless the TNC has more than one radio behind one link, such as Direwolf with two channels. See Two radios on one TNC.
Reading the connection
The channel row carries the link's own state: CONNECTED, RECONNECTING, or
CONNECTED · QUIET when the link is up but nothing has been heard. A quiet link is not
necessarily a fault. In a low-traffic area this is normal. If nothing is ever received, the
app points to the usual cause and suggests checking that the radio is actually in KISS mode.
TNC battery
A Mobilinkd TNC3 or TNC4 reports its battery level over the USB link, and the channel row shows it with on USB power beside it. The same cable is charging the TNC, so the voltage you are reading is the charger's rather than the pack's. Only Mobilinkd hardware is asked; see the BLE TNC guide for what the reading means and when it warns.
Other ways to connect
USB is one of several paths onto the air. If your TNC is wireless, see Bluetooth KISS TNCs or Bluetooth LE TNCs; if your TNC is a program on another computer, see KISS over TCP; and if you have no TNC at all, the built-in audio modem only needs a cable. Connect a radio compares them all.
Last updated 23 September 2026