TNC-PI General Info
The easiest, and nearly the cheapest, solution for a packet radio TNC, and most popular in our group, is a card made for the Raspberry PI called TNC-PI.
TNC-PI is a variation on the TNC-X made since 2004 by Coastal Chipworks. Firmware for the TNC-X open source and is written by John W2FS.
TNC-X uses USB to connect to a host computer. The TNC-PI is specifically designed to communicate to the Raspberry PI via its expansion header.
The TNC-X firmware from W2FS was modified by John, G8BPQ, to support the Raspberry PI's I2C bus, allowing multiple TNC-PI to be attached with
a single ribbon, to the same Raspberry PI.
|
The TNC-PI is sold as a kit by Coastal Chipworks. Buy them from our TNC-PI Kit Ordering and Assembly page. They cost $43 plus
shipping.
|
Key features of TNC-PI
The DE-9 connector at the bottom of the photo is used to connect to the radio.
This connector has the same pin-out as the Kantronics KPC-3.
Lower in this web page there is an oblique (3d) image of the connector showing the pin-out.
The TNC-PI talks to the computer via the 2 x 5 header and ribbon cable shown in the upper right.
Other variants of the TNC-PI have 2x13 or 2x20 connectors.
For these boards, only the 10 pins closest to the top of the pictures (2 rows of 5) are used in communications with the computer.
The red and yellow LEDs are TX and DCD.
TX shows when the TNC-PI assets PTT causing the radio to transmit, and DCD shows when the TNC is hearing both modem tones from the receiver.
R7 is the TXLEVEL (transmit audio level) control.
Adjusting R7 TXLEVEL affects the audio level generated by the TNC into the transmitter.
R7's setting is only critical after a new radio is attached to the TNC.
See TNC+radio adjust and test for details.
R6 TXDELAY adjusts how long the TNC must wait after asserting PTT (TX) before the radio is ready for data.
On the right side middle of the board are a slide switch and a button.
The button is a PTT switch and while the button is held, forces the radio into transmit for testing purposes.
The slide switch causes the received audio to be copied to pin 7 of the 2x5 header.
This may be used by a monitor-card installed between the TNC-PIs and the Raspberry PI.
Only one TNC-PI may have its switch thrown to copy. The default COPY-OFF condition is slide towards the button.
|
|
TNC-PI models
The original design of the TNC-PI was a stackable card that fit over the top of the Raspberry PI. Most purchasers of the TNC-PI buy
one unit and use it in this way, usually for APRS. Our application, where we purchase several for the same system, is uncommon but not unique.
In our application, where there is likely to be more than one TNC-PI, the stacking of the TNC-PIs is not desirable.
There are 3 models of the board but at least 5 versions. The most obvious difference between the models is the interface header
which connects between the TNC-PI and the Raspberry PI, or connects multiple TNC-PI with a Raspberry PI.
The header versions are 10-pin, 26-pin, 40-pin.
Other differences:
- There is a mounting hole pattern difference such that the 26-pin version cannot be interchanged with the other two models. The 10 and 40 pin units use the same mounting holes.
- The 26 and 40 pin units come with a pass-through header which which is soldered from the top, and which, according to the instructions, must be meticulously spaced
half a millimeter from all the way down in order to prevent bumping into the USB connector on the Pi. This header permits stacking of the boards.
- The 26 and 40 pin units have an extra potentiometer hooked to an AtoD port which can be used to adjust TXDELAY.
- The 10 pin unit comes with an easier solder-from-the-bottom 10 pin header, has larger space around the mounting holes,
has heavier signal traces,
a push button for PTT, and
a slide switch for linking the audio to one of the interface header pins.
It is sold through a link on the TNC-PI Kit Ordering and Assembly page.
All three models may be assembled with the 10 pin header.
Multiple versions of TNC-PI
Below I describe the 3 TNC-PI circuit boards which are in current production.
For more details, see
Out Of Production TNC-PI.
V1.2 Apr2015
- JP7 (top middle) must be shorted to provide power to the board
- 2x13 Header
- R6 provides TxDelay control for this TNC but this control is covered if boards are stacked or if ribbon cable is used.
- NOTE: screw holes have insufficient keep-outs. Use insulated spacers.
|
V2.0 Feb2015
- JP7 removed
- 2x20 Header
- R6 provides TxDelay control for this TNC but this control is covered if boards are stacked or if ribbon cable is used.
|
TARPN v2.3 Dec2015
- JP7, ICSP jumper/connector positions have been removed.
- 2x5 Header
- R6 is moved to a new location to be clear of the ribbon cable
- Adds PTT button and Audio copy-to-ribbon switch
- Improved silk-screen labels
- Center mounting hole removed
- Thanks to John W2FS for doing these modifications for us.
|
Using the TNC-PI in a stacked configuration
The TNC-PI was intended to be stacked on top of a Raspberry PI. The 26 and 40 pin versions have pass-thru connectors enabling multi-level stacking but only if the header is installed with
a small gap between the header below the board and the PCB (else the spacer hardware is too long and there isn't enough room for the Raspberry PI USB connectors).
However, the board is difficult to operate and inspect in a multi-port node when stacked.
Method #1: Point LEDs and pots to the right
The good news with this is - the big header is exposed on top of the top TNC and now a non-TNC board can be part of the stack in case
some accessory presents itself to the project.
So far we don't have such an accessory but who knows?
-
The assembled unit is relatively small.
The bad news with this is
- Soldering the through-connector is difficult
- The through-connector needs to be spaced manually to get the stacking spacing right else the USB connector shorts the bottom board and the screw spacers are too high.
- The boards are not rigidly mounted.
They tend to flop around a bit, or if screws are used,
are mechanically stressed.
This doesn't portend a long life.
-
The boards are not individually accessible and the stack must be disassembled, leading to even more stress, to swap out
or observe one of the middle cards.
-
The boards must be modified by hand, in ways the parts were not designed for, in order to attain even this level of accessibility.
-
During assembly the two LEDs and potentiometer R7 are made to face sideways to the PC card so they are accessible and
visible during operation.
|
|
If the boards are not assembled with the LED and R7 potentiometers modded to go out the side, you can't see the PTT and/or DCD lights, and you can't adjust the TXLEVEL without disassembling the stack (with the Raspberry PI powered down).
Method #2: Use IDCs and ribbon cable
During assembly, the 2x13 or 2x20 pass-thru header is left out and instead we substitute a 2x5 top-mounted header.

Ribbon cables made using insulation displacement connectors (IDC) and 10-conductor wire are used to
connect the TNCs and Raspberry PI. 2x5-position IDC ribbon cables for a 4-port node cost about $6 to make
and the only tools needed are a vice and diagonal cutters.
- All adjustments are available, the LEDs are very visible, and the versatility of placement of the TNC is
very handy.
- The 2x5 connector is much easier to solder than the 2x13 pass-thru header.
- Solid mounting to nylon spacers is very nice.
- TNC-in-the-middle is removable without crashing the Raspberry Pi.
- The TNCs may be mounted such that the relationship between a TNC and its radio is visibly obvious.
Ribbon cables appear to be ok even up to 5 feet or more but this may depend on the RF environment. I would keep
them as short as convenient and consider this a source of problem if RF related issues develop.
Note that if you using the 10 pin ribbon cable and 2x5
connectors, you will have to clip pins 11 and 12 on the Raspberry PI. If you are using the TARPN TNC-PI in your setup, you'll also need to clip pin 7.
Modify the Raspberry PI as shown to clear the ribbon connector and remove the chance of shorting TNC-PI receive audio to the Raspberry PI.
The pins you are removing are general purpose I/O pins which aren't needed for this project.
|
|
Don't panic about wrecking the future usability of the Raspberry PI.
It is a $40 computer which gets out-dated after only a year and costs about the same as a TNC.
If you choose to use a ribbon cable as described, the TNC models can be a mix of different models.
Sold as a Kit:
It takes a little over an hour to assemble a TNC-PI for the first time. Less time with experience.
Ordering and Assembly Instructions:
I made a web page with assembly instructions. I have also included a shortcut for ordering the boards and visual assembly instructions.
TNC-PI Ordering and Assembly
IDC connectors are available from ShowMeCables for 38 cents each or
from SparkFun for 50 cents a piece.
Ribbon cable is available from SparkFun in a 3 foot length for 95 cents.
If you are in the Raleigh area, I have a cable, connectors, and
crimping skillz to spare for packet radio node projects.
--KA2DEW
Connector wiring
Additional Notes:
The TNC-PI has two potentiometers, R6 and R7. R6 is an input to the A-to-D converter and can be used to set TXDELAY.
R7 adjusts the transmit audio level. R6 in the stackable variants of the TNC-PI was in a location blocked by
stacked boards or blocked by the ribbon cable. It was deleted in the V2.1 TARPN version.
The Coastal Chipworks assembly instructions and web page for the stackable TNC-PI versions is here: TNC-X/TNC-PI
Schematic for the 26-pin version of the TNC-PI is here: tnc_pi_26pin_schematic.pdf
Schematic for the 10-pin TARPN TNC-PI v2.3 is here: schematic.jpg