# Terminal node controller

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Terminal_node_controller
> Markdown URL: https://mediated.wiki/source/Terminal_node_controller.md
> Source: https://en.wikipedia.org/wiki/Terminal_node_controller
> Source revision: 1332444472
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Device used by amateur radio operators

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Terminal node controller" – news · newspapers · books · scholar · JSTOR (September 2016) (Learn how and when to remove this message)

AEA (Advanced Electronic Applications Inc.) PK-232MBX, circa 1991

A **terminal node controller** (**TNC**) is a device used by [amateur radio](/source/Amateur_radio) operators to participate in [AX.25](/source/AX.25) [packet radio](/source/Packet_radio) [networks](/source/Computer_network). It is similar in function to the [packet assembler/disassemblers](/source/Packet_Assembler%2FDisassembler) (PAD) used on [X.25](/source/X.25) networks, with the addition of a modem to convert [baseband](/source/Baseband) digital signals to audio tones.[1]

The first TNC, the VADCG board, was originally developed by Doug Lockhart, VE7APU, of [Vancouver](/source/Vancouver), [British Columbia](/source/British_Columbia).[2]

Amateur Radio TNCs were first developed in 1978 in Canada by the Montreal Amateur Radio Club and the Vancouver Area Digital Communications group. These never gained much popularity because only a bare [printed circuit board](/source/Printed_circuit_board) was made available and builders had to gather up a large number of components.[*[specify](https://en.wikipedia.org/wiki/Wikipedia:Citing_sources)*]

In 1983, the [Tucson Amateur Packet Radio](/source/Tucson_Amateur_Packet_Radio) (TAPR) association produced complete kits for their TNC-1 design. This was later available as the [Heathkit](/source/Heathkit) HD-4040. A few years later, the improved TNC-2 became available, and it was licensed to commercial manufacturers such as [MFJ](/source/MFJ_Enterprises).

In 1986, the improved "TNC+" was designed to run programs and protocols developed for the original TNC board. TNC+ also included an assembler and a version of [Forth](/source/Forth_(programming_language)) ([STOIC](/source/STOIC)), which runs on the TNC+ itself, to support developing new programs and protocols.[3]

In 2018 Nino Carillo (KK4HEJ) developed and produced a TNC (the *NinoTNC*)[4] with (currently) 16 different data modes, from 300 baud AFSK to 19,200 C4FSK. It has a KISS interface to the compute device, and implements IL2P (Improved Layer 2 Protocol)[5] for Forward Error Correction (FEC) in some modes.

## Description

This section does not cite any sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (September 2016) (Learn how and when to remove this message)

The Kantronics 9612+ was implemented around an [8-bit](/source/8-bit) [Motorola](/source/Motorola) [microcontroller](/source/Microcontroller).

A typical model consists of a [microprocessor](/source/Microprocessor), a [modem](/source/Modem), and [software](/source/Software) (in [EPROM](/source/EPROM)) that implements the AX.25 protocol and provides a [command line interface](/source/Command_line_interface) to the user. (Commonly, this software provides other functionality as well, such as a basic [bulletin board system](/source/Bulletin_board_system) to receive messages while the operator is away.) Because the TNC contains all the intelligence needed to communicate over an AX.25 network, no external [computer](/source/Computer) is required. All of the network's resources can be accessed using a [dumb terminal](/source/Dumb_terminal).

The TNC connects to the terminal and a radio [transceiver](/source/Transceiver).Data from the terminal is formatted into AX.25 packets and [modulated](/source/Modulation) into audio signals (in traditional applications) for transmission by the radio. Received signals are demodulated, the data unformatted, and the output sent to the terminal for display. In addition to these functions, the TNC manages the radio channel according to guidelines in the AX.25 specification.

Early usage was mostly one-to-one communication, either between two people or a person to an automated bulletin board or e-mail system.

## Current status

This section does not cite any sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (September 2016) (Learn how and when to remove this message)

Since the late 1990s, most AX.25 usage has shifted to a different one-to-many communication paradigm with the [Automatic Packet Reporting System](/source/Automatic_Packet_Reporting_System) (APRS).

The TNCs of the 1980s and 1990s were complete solutions that only needed a radio and an optional [dumb terminal](/source/Computer_terminal). As home computers made their way into [ham](/source/Amateur_radio) "shacks," there was a movement toward simpler, cheaper ["KISS"](/source/KISS_(TNC)) (Keep It Simple, Stupid) devices. These have a modem and minimal processing of the AX.25 protocol. Most of the processing is moved to the personal computer.

The next logical step in the evolution is to eliminate the specialized hardware and move all of the processing to a computer. A "[soundcard](/source/Sound_card)" is used for audio to and from the radio. Everything else is done in software.[6]

Some of the earlier attempts performed poorly, giving this approach a bad reputation. Modern software TNCs, using [digital signal processing](/source/Digital_signal_processing) (DSP) techniques, can successfully decode poor quality signals that the older equipment can't.[7]

Some handheld and mobile VHF radios currently on the market incorporate TNC abilities within the radio itself in support of the APRS protocol.

Many TNCs are still in use, especially in unattended stations where reliability is important. The importance of location to the APRS system has fueled development of a new generation of small low-power TNCs often integrated with a GPS module for use in mobile tracking stations. Not all AX.25 activity is APRS: Some AX.25 data networks exist, including the EastNet Packet Network mostly in the Northeastern United States[8] and TARPN Network mostly in North Carolina.[9]

APRS [digipeating](/source/Repeater#Data_handling) protocols require specific naming conventions, and older TNCs may not have the required support to be used as a digipeater. However, almost any TNC can be pressed into service for home or tracker use. TNCs that were clones of the popular [TAPR](/source/Tucson_Amateur_Packet_Radio) [TNC-2](https://en.wikipedia.org/w/index.php?title=TNC-2&action=edit&redlink=1) may be upgradeable via the UIDIGI firmware project.

## TNC/Radio data ports

This section does not cite any sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (September 2016) (Learn how and when to remove this message)

Although typically described as data ports, the interface between a radio and a TNC is almost entirely analog audio (plus lines for PTT and [squelch](/source/Squelch)). The connectors used for this purpose vary widely across TNC manufacturers, but modern radios that offer data ports have widely adopted the [Mini-DIN](/source/Mini-DIN) 6-pin connector.

Also used are full-size DIN connectors, DE-9 ([D-sub](/source/D-subminiature)) connectors,[4] modular telephone (RJ) connectors, and combinations of mini- and micro-headphone connectors (typically on handheld radios).

- 6-pin Mini-DIN

## Terminal data port

TNCs were originally designed to accept messages from a human typing on a [dumb terminal](/source/Dumb_terminal). TNCs had a DB-25 or DE-9 connector carrying [asynchronous start-stop](/source/Asynchronous_start-stop) bytes with [RS-232](/source/RS-232) signal levels. This could also be used with the [serial port](/source/Serial_port) of a personal computer. Serial ports are now pretty much extinct, but USB-to-serial converter cables are available.

However, typically a human uses a more sophisticated software package running on a personal computer that sends messages to the TNC using the [KISS (TNC)](/source/KISS_(TNC)) protocol or the 6PACK protocol.[10]

Modern software TNCs provide [TCP/IP](/source/Internet_protocol_suite) interfaces that can be accessed across computer networks. For example, it is possible to run a software TNC on a [Raspberry Pi](/source/Raspberry_Pi) near the radio and access it from a laptop computer in another location. Software TNCs also provide "[pseudo terminals](/source/Pseudoterminal)" so they can be used with old applications that only know how to use serial ports.

## See also

- [Wireless modem](/source/Wireless_modem)

## References

1. **[^](#cite_ref-1)** R. Dean Straw, ed. (2005). *The ARRL Handbook for Radio Communications 2006*. [American Radio Relay League](/source/American_Radio_Relay_League). pp. 9.14 – 9.15. [ISBN](/source/ISBN_(identifier)) [0-87259-948-5](https://en.wikipedia.org/wiki/Special:BookSources/0-87259-948-5).

1. **[^](#cite_ref-2)** Larry Kenney. ["Introduction to packet radio"](http://www.choisser.com/packet/part01.html).

1. **[^](#cite_ref-3)** Douglas Lockhart. (1986). ["Features of the VADCG TNC+"](https://www.tapr.org/pdf/CNC1986-FeaturesOfVadcgTNCplus-VE7APU.pdf). Vancouver Amateur Digital Communications Group.

1. ^ [***a***](#cite_ref-NinoTNC_4-0) [***b***](#cite_ref-NinoTNC_4-1) ["TARPN -- NinoTNC info for Builders"](https://tarpn.net/t/nino-tnc/nino-tnc.html). *tarpn.net*. Retrieved 2024-09-01.

1. **[^](#cite_ref-5)** ["TARPN: Improved Layer-2 Protocol"](https://tarpn.net/t/il2p/il2p.html). *tarpn.net*. Retrieved 2024-09-01.

1. **[^](#cite_ref-6)** ["Dire Wolf Software TNC"](https://github.com/wb2osz/direwolf-presentation). *[GitHub](/source/GitHub)*. 10 May 2021.

1. **[^](#cite_ref-7)** ["WA8LMF TNC Test CD Results a.k.a. Battle of the TNCs"](https://github.com/wb2osz/direwolf/blob/dev/doc/WA8LMF-TNC-Test-CD-Results.pdf) (PDF). *[GitHub](/source/GitHub)*.

1. **[^](#cite_ref-8)** ["EastNet Packet Radio Group Welcome"](https://www.qsl.net/ww2bsa/eastnetpackethome.htm). *www.qsl.net*. Retrieved 2024-09-01.

1. **[^](#cite_ref-9)** ["TARPN Network Page"](https://tarpn.net/t/network.html). *tarpn.net*. Retrieved 2024-09-01.

1. **[^](#cite_ref-10)** Welwarsky, Matthias. ["6PACK a "real time" PC to TNC protocol"](https://web.archive.org/web/20120224051938/http://private.freepage.de/cgi-bin/feets/freepage_ext/41030x030A/rewrite/alexs/xfr/flexnet/6pack_en/6pack.htm). Translated by Sailer, Tom. Archived from [the original](http://private.freepage.de/cgi-bin/feets/freepage_ext/41030x030A/rewrite/alexs/xfr/flexnet/6pack_en/6pack.htm) on 2012-02-24. Retrieved 2013-05-19.

## External links

- [Tucson Amateur Packet Radio (TAPR)](http://www.tapr.org/)

- [Help getting started in APRS](http://kcaprs.org/)

- [Inventor of APRS' website](http://www.aprs.org)

- [SYMEK Packet-Radio-Controller (TNC) for amateur-radio](http://symek.com/g/index-g.html)

- [AEA PK-232 to 6-pin MiniDIN wiring diagram](http://www.cqham.ru/trad/a232din6.gif)

- [Software for AEA and Kantronics TNCs](http://www.cssincorp.com)

- [Arduino TNC](https://sites.google.com/site/ki4mcw/Home/arduino-tnc)

v t e Packet radio Traditional ALOHAnet PRNET AX.25 Terminal node controller FBB (F6FBB) APRS APRS APRS Calling TCP/IP packet radio AMPRNet KISS (TNC) KA9Q Phil Karn Specialized Spartan FX.25 FEC Encoder receiver transmitter

---
Adapted from the Wikipedia article [Terminal node controller](https://en.wikipedia.org/wiki/Terminal_node_controller) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Terminal_node_controller?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
