Review - Coastal ChipWorks TNC-X

Background

While pursuing the idea of standing up a small-footprint APRS digipeater at my house, I spoke to fellow member of the Richmond Amateur Telecommunications Society and APRS hound Trey Murphy N4PAT about a project he was working on. He had ordered a TNC-X kit from Coastal ChipWorks, and was in the process of assembling it. I had seen the TNC-X website before, but have never been too sure of my soldering skills, so I did not consider this device as a candidate for a digi. As time went on, though, the idea of the TNC-X began to grow on me, so I made a number of trips back to their website to re-read the operating manual, assembly instructions, etc.

At the same time, I had been in a long hiatus between high-altitude balloon missions. My first launch attempt had been unsuccessful, and for a second mission I would need to find a way to keep the weight of the payload to a minimum (about 3 pounds, instead of the portly 12-pound package I had tried to send up the first time). I looked on the Internet occasionally for something to use as a flight computer; most of the devices that would simplify the APRS communication were either too big (like my original flight computer, a small PC running Linux), too expensive (like the Kantronics KPC3 TNC), or too complicated (like the WhereAVR, which is really only a printed circuit board, some C programs, and a schematic). I needed something that would handle the low-level details of AX.25 packet radio, while allowing me to focus on the higher-level integration of subsystems within the payload.

These two trains of thought collided one night at the dinner table. The TNC-X is designed to allow the installation of daughtercards. By connecting to an 8-pin header on the TNC-X board, it is possible to send and receive KISS frames to and from the TNC-X packet engine and the PC connected to the DB-9 serial port. This allows the daughtercard designer to let the TNC-X worry about low-level AX.25 details, and focus instead on processing the data coming across the radio. This was exactly what I was looking for.


Building, Testing, Using

I ordered a TNC-X kit from the website, and within a few days I was soldering parts onto the board. The construction was a little tedious (those pads on the PCB really are small), but with a clean iron and a fine gauge of lead-free solder, it proved to be much easier than I had expected. After about three sessions, I had all of the components installed, and was ready to test. Unfortunately, I had skipped the part of the manual that explained where to install the jumpers. Once I had those little buggers in the right places, though, the unit fired right up.

For testing the TNC, I used a technique that had served me well during the preparations for my first balloon launch. I connected the TNC-X to my laptop, connected the audio line out from the TNC-X to the line in on the soundcard of a second PC, and the audio line out from the second PC to the audio input of the TNC-X. Then, by running the AGWPE soundcard packet utility on the second PC, I was able to pass data packets back and forth without using radios. This arrangement also allows you to monitor the audio going into and out of the second PC, just to be sure your levels are set, wiring is correct, and so on. This testing strategy worked perfectly with the TNC-X, and within a couple of minutes I had verified that it was sending and receiving packet data correctly.

The big surprise came with the next phase of testing, when I hooked the TNC-X up to a radio. I had tried using soundcard packet many times, but was never very successful; any signal below about S-8 was unreadable, and even above that I could only decode about half of what I heard. I was hoping for a modest improvement with the TNC-X using the same radio and laptop. Instead, I saw a radical improvement - the TNC-X was reading almost every packet that came over the air. I was hearing traffic from far-off digipeaters, and was able to decode packets coming across at S-3 and below. Traffic from nearby digis was coming across at almost 100%.

Now that I had the TNC-X up and running, I proceeded to test the real target of my interest, that 8-pin daughtercard interface. With a careful review of the instructions and schematic (which did not seem to agree), and with some time spent verifying things with a voltmeter, I was able to remove two jumpers and connect three of the exposed pins to the in, out, and ground of a ZX-24 microcontroller. After some fumbling with serial settings, I was able to successfully send and receive data between devices. I had a hard time finding an analysis of the KISS protocol that I could make any sense of, so I did some reverse engineering of the data stream. This turned out to be easier than I had expected, so within a few hours I was able to get the microcontroller and TNC-X to speak KISS to each other, including sending and receiving APRS over radio. With this research in hand, the build-out for my second high-altitude balloon mission is well underway.

As a basic KISS-only device, the TNC-X provides excellent performance. Though the construction of the TNC-X does require a stead hand, good eyesight, and sense of humor (the instructions and diagrams leave something to be desired), it is well within the capabilities of hams with even moderately good soldering skills. When you consider that the kit comes with the board, chips, and all of the electronic components, and that even with the optional pre-cut aluminum case the entire thing sells for well below $100, the TNC-X is a tremendous value for those wishing to enter the worlds of packet and APRS.