Original ici, traduction en français en cours en même temps que le test :
Authorisation by email from João 08th september 2014
A l’heure du SDR en émission et réception, il est bon de sauvegarder ces articles intéressants, l’intérêt de ce TNC est qu’il est dépannage par un électronicien bidouilleur sans difficultés. les seules pannes se résumeront à des soudures mal faites.
A quoi ça sert ?
entre un Homme et un émetteur récepteur, il faut un microphone pour que « ça rentre à l’intérieur »
entre un ordinateur et un émetteur récepteur, il faut un TNC pour que « ça rentre à l’intérieur »
Le TNC assure la connexion entre ce terminal et un émetteur-récepteur. Les données issues du terminal sont organisées en paquets AX.25 et modulées en signaux audio pour être transmises par radio. Réciproquement, les signaux reçus sont démodulés, les données extraites des paquets, et les résultats sont envoyés par un port Série RS-232 et affichés sur le terminal ecran ou ordinateur.
In 2005 Bob Ball published an article in QEX magazine describing a small and inexpensive modem-less TNC using a PIC 16F88 that can be built for under 25€.
A terminal node controller (TNC) is a device used by amateur radio operators to participate in AX.25 packet radio networks  . It is similar in function to the Packet Assembler/Disassemblers used on X.25 networks, with the addition of a modem to convert baseband digital signals to audio tones .
This TNC implements only parts of the AX.25 protocol, to encode and decode Unnumbered Information frames, used in the APRS system.
It has two working modes:
- can be used as a regular TNC in which a command line interpreter is available at the serial port (but without the connected mode);
- and as an APRS tracker when connected to a serial RS-232 GPS receiver.
This project is my implementation of Bob Ball’s TNC for which I designed a very small PCB with a 9 pin SUB-D and a 6 pin mini-din connectors, for Computer/GPS and radio respectively.
The TNC schematic is almost a replica of Bob Ball’s main schematic from the article and includes several improvements made by many others over the years:
- added hysteresis in the comparator to prevent oscillations 
- improved low pass filtering to avoid instabilities in the receiver with high frequency noise from the oscillator 
- radio connection on a 6 pin mini-din plug also with power for the GPS receiver (pins 3 and 4 as a general PS/2 keyboard computer connector)
- added a temperature sensor, following the instructions in Bob Ball’s software v2.00 comments
The circuit itself needs about 18mA while running and most GPS received don’t require more than 50mA. The voltage regulator is therefore a 78L05 capable of delivering 100mA which is enough and has a lower quiescent current than a regular 7805.
The schematic is entirely based on Bob Ball’s design and includes the enhancements referred earlier.
The full parts list is provided on this table.
|D1||Green 3mm LED|
|D5||Red 3mm LED|
|J3||6 pin PS2 PCB female|
|J4||2 pins jumper with cap (GPS)|
|J5||2 pins jumper for one-wire expansion|
The PCB is very compact and can be seen here:
|PCB after etching||One of the first prototypes assembled and tested
but without the temperature sensor
The front and rear connectors:
|Radio connector mini-din 6 pins||Serial Port DTE and DC input|
The serial port is a DTE so a GPS can be connected to the TNC without a null-modem cable changing the TX and RX pins. However the serial port does not provide power to the GPS receiver. If you need to power it via this port, please connect a wire from pin 4 of the serial port to pin 4 of the mini-din radio connector.
The GPS receiver I use has an extra power plug so I never needed to power it from the serial port.
The radio connector pins have these signals:
- 1. audio out
- 2. PTT
- 3. GND
- 4. +5V
- 5. audio in
- 6. not connected
When I started this project two versions of the software were available for free. I tested both supplied by Bob Ball, V1.08 and V2.00. The first version is the one mentioned in the article which works very well either in standalone as in GPS mode. The second version is an upgrade to the first version and includes extra code to use a Dallas 18S20 temperature sensor, so temperature values can be added to the beacon text using escaped characters:
- \t current temperature
- \h maximum temperature
- \l minimum temperature
I’ve implemented several enhancements to his latest version:
- V2.10 enhancements
- Suggested in Chris C4HYG webpage: Modification suggested by Bob is to transmit the GPS position and status packets alternately so that the status information can be read on Kenwood radios. They have a software bug where position packets following the status packet over-write the status information;
- Modify the temperature reading code to use the new 18B20 temperature sensor, which is cheaper and easier to find.
- V2.20 enhancements
- Instead of transmit GPS and Status beacon frames alternately, I followed Chris sugestion and now a Status beacon is sent only after five GPS beacon frames. This prevents flooding the packet network with mostly useless status beacons;
- Support for the Dallas 18B20 is still included.
There are two modes of operation as referred in Bob Ball’s article: command line interactive mode (J4 removed) and GPS mode (J4 inserted).
To start, connect a serial null-modem serial cable between the computer and TNC and run a terminal emulation program on the computer. Configure the serial port with 9600bps, 8N1 for V1.08 or 4800bps, 8N1 for V2.xx and leave the jumper J4 out.
Configuration de base dans les deux modes (important, bien suivre pas à pas)
Set your call address with MYCALL.
- mycall wb8wga <- replace with your callsign
Set the destination address of UI frames with UNPROTO:
- unproto APRS
Using repeaters (e.g. for mobile stations or fixed stations in isolated areas):
- unproto aprs v wide1-1 v wide2-2
This path will give you one hop using fill-in wide1 repeaters and two hops using wide2 repeaters.
And finally enter the number of minutes between beacons. Use short values like 1 or 2 minutes for mobile stations connected to the GPS receiver and longer periods like 10 to 30 minutes for fixed stations with a static beacon:
- beacon every 10
- beacon every 1
Setting the beacon text for a stand-alone configuration
To send APRS beacons while in command line interactive mode, define the BTEXT string with an APRS formatted string and set the BEACON broadcasting period to 10 minutes or so.
Here’s an example BTEXT string to configure the TNC for a fixed station (no GPS receiver connected):
- btext !4008.55N/00851.43W%ARCP-NODE BBS, ARC CCC DX Clusters
The message contains:
- 1. ! Message type (Position without timestamp; no APRS messaging)
- 2. 4008.55N Latitude 40º 08.55′ North
- 3. / Symbol table identifier
- 4. 00851.43W Longitude 8º51.43′ West
- 5. % Symbol code
- 6. « ARCP-NODE BBS, ARC CCC DX Clusters » Text comment
The symbol defined by / and % is a DX Cluster as define in APPENDIX 2 of the APRS Protocol Reference. Many other symbols are available by selecting different combinations for those two characters. A symbol table also exists in G4HYG Cross Country Wireless APRS TNC Digi Tracker Operating Manual 
Configuring extra parameters to use the TNC as digipeater
This TNC can also repeat APRS packets or other UI frames it receives, if the destination path matches the address configured in MYALIAS and DIGIpeater is ON. To enable the digipeater, configure both parameters:
- myalias wide1-1
- digi on
Configure the GPS sentence to use the TNC in GPS mode (J4 inserted)
When in GPS mode (GPS jumper inserted) the TNC transmits GPS frames it receives from its serial port. To use this mode first the TNC must be configured via the command line interpreter, so start the TNC without the GPS jumper inserted and configure it with the following instructions:
- mycall wb8wga-9 <- replace with your callsign but leave ssid 9
- unproto GPSC30 v wide1-1 v wide2-2
- beacon every 1
Then select one of the gps frames to transmit:
- gps $GPRMC
- gps $GPGLL
- gps $GPGGA
$GPRMC is the biggest frame but includes position, speed and direction. $GPGLL and $GPGGA include the position and are smaller. More information on the nmea gps sentences can be found at NMEA data website .
Since in GPS mode the beacon text is the nmea sentence from the GPS receiver, there is no way to place the symbol information there. There is, however, another way to select the symbol to represent the TNC. Set a different UNPROTO address with the symbol encoded.
This is how:
- GPSCnn : An APRS destination callsign that specifies a display symbol from the Primary Symbol Table. The symbol cannot be overlaid. Used by trackers that cannot specify the symbol in the AX.25 Information field.
Replacing the above nn with 86 or 30 selects a mini-van symbol or a car symbol, respectively.
Far more symbols exist and, as stated before, a symbol table can be found on Chris G4HYG APRS Digi Tracker Operating Manual .
To save the configuration to the eeprom so it will remain stored after powering down the TNC, use the perm command:
And that’s it, now disconnect and reconnect power to the TNC with the GPS J4 jumper inserted and it will start broadcasting your position and possibly speed and direction.
Using the improved versions v2.10 and v2.20 while in GPS mode (J4 inserted)
While in GPS mode these versions also transmit the BTEXT beacon string either alternately (v2.10) or after five GPS sentences (v2.20). Configuring the BTEXT string as a status sentence we may send more information like temperature measurements, QRA, mission, etc. while in GPS mode.
To configure the BTEXT as a status sentence place the > symbol as its first character. Example:
- btext >Going home for the weekend. Current temperature is \tC
Thus we have:
- 1. > the status symbol
- 2. « Going home for the weekend. Current temperature is \tC » the status message
- 3. \t the escaped character that the TNC replaces with the current temperature
Don’t forget to save the configuration using the perm command and you’re set to go out and enjoy your TNC!
Over the years this little PCB has been made a little everywhere all over the world. On this page are pictures and videos I can find on the web of other people building this TNC. Go there and have a look.
Original QEX article files from the publisher
My updated firmware V2.10 (interleaves status frames with $GP*** frames and reads temperature from a DS18B20 sensor)
My updated firmware V2.20 (sends a status frame after five $GP*** frames and reads temperature from a DS18B20 sensor)
 (not working as of 2012) Bob Ball’s Inexpensive TNC website (you can read the paper  on this URL)
 Ball, Bob, « WB8WGA, An Inexpensive Terminal Node Controller for Packet Radio« , QEX, Mar/Apr 2005
 NMEA data website