NinoTNC Configuration and Settings

The NinoTNC is an open-source Terminal Node Controller (TNC) designed by Nino KK4HEJ. It’s become popular for packet radio operations due to its affordability, reliability, and support for both 1200 baud AFSK and 9600 baud FSK modes.

Hardware Versions

  • NinoTNC N9600A: Original version with through-hole components
  • NinoTNC N9600A3: Surface mount version, more compact
  • NinoTNC N9600A4: Latest revision with improved audio handling

Initial Setup

USB Driver

The NinoTNC uses a USB serial interface. On Linux, it should be recognized automatically as /dev/ttyACM0 or similar. On Windows, the device appears as a COM port.

# Check if recognized on Linux
dmesg | grep ttyACM

Serial Terminal Settings

Connect to the NinoTNC with a terminal program:

  • Baud rate: 57600
  • Data bits: 8
  • Parity: None
  • Stop bits: 1
  • Flow control: None
# Using screen on Linux
screen /dev/ttyACM0 57600

Essential Commands

Access the command interface by pressing ESC three times quickly, then type KISS OFF to enter command mode.

Command Description
KISS ON Enable KISS mode for software like Direwolf, APRX
KISS OFF Disable KISS mode, enter command mode
TXDELAY n Set TX delay in 10ms units (default: 50 = 500ms)
TXTAIL n Set TX tail in 10ms units
PERSIST n Set persistence value 0-255 (default: 63)
SLOTTIME n Set slot time in 10ms units (default: 10)
FULLDUP ON/OFF Enable/disable full duplex mode
DISPLAY Show current settings
SAVE Save settings to EEPROM

Recommended Settings

For APRS (1200 baud)

TXDELAY 30
TXTAIL 1
PERSIST 63
SLOTTIME 10
FULLDUP OFF

For 9600 Baud FSK

TXDELAY 15
TXTAIL 1
PERSIST 128
SLOTTIME 5
FULLDUP OFF

Audio Level Adjustment

The NinoTNC has potentiometers for TX and RX audio levels:

  • TX Level: Adjust for proper deviation (3-3.5kHz for FM)
  • RX Level: Set for optimal decode with your radio’s audio output

Use an SDR or deviation meter to verify TX audio levels. The LED indicators help with RX level adjustment - the DCD LED should light consistently when receiving packets.

LED Indicators

LED Function
PWR Power on
TX Transmitting
DCD Data Carrier Detect (receiving valid signal)
CON Connected (not used in APRS mode)

Operating Modes

As of firmware release 3.40 / 4.40 / v40 (all refer to the same version), the NinoTNC supports multiple operating modes selectable via DIP switches.

IL2Pc is shorthand for IL2P plus CRC.

QtSM NOTE: For IL2P and CRC modes, these need to be enabled per modem in the Settings/Modems menu.

Current Modes

# Mode QtSM Mode Baud bps Mod Proto Usage BW Typical use
1 0001 ? 19200 19200 4FSK IL2Pc FM 25k High SNR links between dedicated data radios. v41 firmware required.
3 0011 ? 9600 9600 4FSK IL2Pc FM 12.5k High SNR links between dedicated data radios. Suitable for UK 2m band.
2 0010 ? 9600 9600 GFSK IL2Pc FM 25k Recommended mode for new 70cm (25kHz) links where both ends are compatible.
5 0101 ? 3600 3600 QPSK IL2Pc FM 12.5k For situations where only a speaker/mic connection is available but >1200 baud is desired.
11 1011 QPSK v26a 1200 2400 QPSK IL2Pc SSB/FM 2.4kHz HF - quadrature version of 1200 BPSK, twice the throughput for +3dB SNR.
10 1010 ? 1200 1200 BPSK IL2Pc SSB/FM 2.4kHz HF - use for circuits where wider transmission is acceptable.
9 1001 ? 300 600 QPSK IL2Pc SSB 500Hz HF - quadrature version of 300 BPSK, twice the throughput for +3dB SNR.
8 1000 BPSK AX.25 300bd 300 300 BPSK IL2Pc SSB 500Hz HF - slowest but best performing mode. ~7dB better than classic 300 baud FSK AX.25.
14 1110 AFSK AX.25 300bd 300 300 AFSK IL2Pc SSB 500Hz CRC improvement of IL2P 300 baud AX.25. Recommended if you can’t do BPSK/QPSK on HF.
- 1111 ? n/a n/a n/a n/a n/a n/a Allows the mode to be set by a SETHW KISS command (v41+).

Superseded Modes (Still Supported)

# Mode Baud bps Mod Protocol Superseded by Usage BW Typical use
0 0000 9600 9600 GFSK AX.25 9600 GFSK IL2P FM 25k Backwards compatibility with legacy G3RUH modems.
4 0100 4800 4800 GFSK IL2Pc 9600 4FSK IL2Pc FM 12.5k Was the recommended mode for new 2m (12.5kHz) links until 9k6 4FSK came along.
7 0111 1200 1200 AFSK IL2P 4800 GFSK IL2Pc FM 12.5k Improvement over 1200 AFSK IL2P, where none of the GFSK modes are possible.
6 0110 1200 1200 AFSK AX.25 1200 AFSK IL2P FM 12.5k VHF APRS, backwards compatibility with classic/legacy TNCs like PK232.
12 1100 300 300 AFSK AX.25 300 AFSK IL2P SSB 500Hz Backwards compatibility with legacy HF packet modems. Modulation invented c. 1962!
13 1101 300 300 AFSK IL2P 300 AFSK IL2Pc SSB 500Hz IL2P improvement of AFSK 300 baud AX.25.

Firmware v.44 Mode Mapping

The operating mode values are internal and may change with firmware version. For firmware v.44:

Switch Mode BrdSwchMod Value Mode Name
0 (0000) 0x00 MODE_9600_GFSK_AX25
1 (0001) 0x41 MODE_19200_4FSK
2 (0010) 0xB0 MODE_9600_GFSK_IL2P_CRC
3 (0011) 0x40 MODE_9600_4FSK
4 (0100) 0xA3 MODE_4800_GFSK_IL2P_CRC
5 (0101) 0xF1 MODE_3600_QPSK_IL2P_CRC
6 (0110) 0x02 MODE_1200_AFSK_AX25
7 (0111) 0x93 MODE_1200_AFSK_IL2P_CRC
8 (1000) 0x91 MODE_300_BPSK_IL2P_CRC
9 (1001) 0x92 MODE_600_QPSK_IL2P_CRC
10 (1010) 0xA0 MODE_1200_BPSK_IL2P_CRC
11 (1011) 0xA2 MODE_2400_QPSK_IL2P_CRC
12 (1100) 0x31 MODE_300_AFSK_AX25
13 (1101) 0x22 MODE_300_AFSKPLL_IL2P
14 (1110) 0x23 MODE_300_AFSKPLL_IL2P_CRC
15 (1111) 0xF3 MODE_SET_FROM_KISS

Signal Settings (DIP Switches)

The NinoTNC has 4 DIP switches for signal configuration.

Switch Functions

Switch 1 - Transmit Audio Range (DATA/MIC)

  • ON/UP (DATA): Increases TXA level for data radio input range
  • OFF/DOWN (MIC): Reduces transmit audio to microphone-level-input range

Switch 2 - Receive Audio Sensitivity (1x/11x)

  • ON/UP (1x): Appropriate for speaker output or data radio output
  • OFF/DOWN (11x): For radios with very low receive audio (e.g., speaker mic connection)

Switch 3 - Transmit Audio Coupling (DC/AC)

  • ON/UP (DC): DC coupling - rarely needed
  • OFF/DOWN (AC): Normal operation, leave here unless you have a specific requirement

Switch 4 - External Carrier Detect (EN/CD)

  • ON/UP (EN): Use external transmit inhibit via pin 2 of DB9
  • OFF/DOWN (CD): Normal operation, leave here unless you need external TX inhibit

Radio-Specific Settings Cheat Sheet

Radio Signals Notes
Yaesu FT-450D 0000 Requires low level TX audio - the FT-450D is very sensitive. RX audio setting probably doesn’t matter, control with appropriate RF gain/AGC.
Tait TM8100/8200 1100 Requires high level TX audio, low level RX audio. Requires AC coupling to block DC present on TX audio pin. Works with 19k2!
Tait T2010 I & II 1100 Tested up to Mode 0100 (4800 GFSK IL2P+CRC).
Yaesu FTM-300D 1100 Tested up to Mode 0100 (4800 GFSK IL2P+CRC).
Kenwood TK-90 0100 TX audio is pretty sensitive, works better in mic range.
Quansheng UV-K5 1100 Works with the 9k6 hardware mod (SA0WII).

Integration with Software

Direwolf

In direwolf.conf:

CHANNEL 0
MODEM 1200
KISSPORT 0
PTT /dev/ttyACM0 RTS

APRX

In aprx.conf:

<interface>
  serial-device /dev/ttyACM0 57600 8n1 KISS
  callsign DL7EDU-10
  tx-ok true
</interface>

Pat Winlink

Configure as a KISS TNC pointing to the serial port.

Troubleshooting

No decode on receive:

  • Check RX audio level potentiometer
  • Verify squelch is open on your radio
  • Confirm correct mode (1200 vs 9600 baud)

Transmit issues:

  • Adjust TXDELAY if first part of packets are cut off
  • Check TX audio level for proper deviation
  • Verify PTT is working (TX LED should light)

KISS mode not working:

  • Triple-ESC then KISS ON and SAVE
  • Power cycle after saving

Resources

73 de DL7EDU