Kantronics Dual-Mode Tracker for APRS

The Kantronics KPC-3 Plus (only), as well as the new KAM-98, with version 8.3 software, implements a software "second serial port", for monitoring a GPS or other serial telemetry device. This frees up the "real" serial port to talk to a computer, as needed, so you can run APRS (all flavors) on computers with only one serial port.

There are, of course, limitations. First, it is one way, into the TNC, since it uses the External Carrier Detect pin of the radio port. This means there is no output is available to send initialization strings or anything else to the attached device.

Second, since this is a software-only serial port, it can sometimes drop data at higher speeds, if the TNC is busy. Kantronics says they have only experienced this occasionally at 4800 baud, the highest speed allowed (and, of course, the most common one for GPS units). Simulating a serial port using a data collection line takes some serious CPU work, which is why this isn't likely to be implemented on the older TNCs.

In real life, however, I have not seen the above limitations to be a problem. My KPC-3 Plus reads my GPS-30's 4800 baud data stream much more reliably than my PicoPacket, which has a hardware serial port, and the software is smart enough to reject bad data strings (at least for GPS; it's not programmed per se for weather telemetry, but you CAN use it for such).

Operation of the completed tracker is very much the same as the PacComm PicoPacket dual-port TNC; in fact, older (pre-8.20) versions of APRS for DOS require you to tell the system it IS a PicoPacket, so that it will properly poll it for location information, and Win/MacAPRS need to have the option "Pico ^E" selected. More on this after we get the TNC operational!

All of this nice stuff requires a few additional settings over and above the ones on the KPC tracker page, however. This page deals with those changes.

First, you need a cable to attach the GPS. The second port is part of the Radio Port wiring, and it may be easiest to start a new cable, depending upon how "creative" your current cable is. I'm only going to deal with the second serial port here - the radio connection is just like the manual shows, no changes.

You will need 2 DB-9 male connectors (one ships with the TNC, Radio Shack 276-1537 works fine, though), a short piece of 2-wire cable for the serial port, and whatever other cable and connectors are needed for your radio. Oh, I guess a couple of DB-9 hoods (Radio Shack 276-1508, -1539 or -1513, depending upon your preferences) would be nice to make things neat, and to take the stress off the solder joints.

Pin 2 on the TNC is the Data IN line, Pin 6 is GROUND for all signals. This is darned convenient, because Pin 2 on a standard 9-pin serial connector is where the external device is trying to stuff its data... although the signal ground is on Pin 5. This is called "DTE wiring", in that the in/out pins of this connector are arranged the way they are on data terminal equipment, rather than "modem wiring", like is found on the TNC's main serial port.

[ You might ask, "why chose a DB-9 male connector, wired DTE?" I chose this because you can then use the same cable you use to connect the GPS or other device to your computer to connect it to the TNC's second port. ]

So, you are adding a two-wire cable between pins 2 and 6 of the TNC's Radio Port and pins 2 and 5 of the new serial connector. After this is soldered together, assemble the hoods over the connectors to protect them.

Now, to software....

The following are the important tracker settings for the TNC:

ABAUD 4800 Could be 9600, but should be at least as high as the second port's speed

BEACON EVERY 0 (disabled) You might have something in here; I don't. Set as needed for your application

1 EVERY 00:01:30 CLEAR
Primary position string report rate, empty buffer after sending
2 EVERY 00:20:00 Secondary position string report rate3
3 EVERY 00:00:00
4 EVERY 00:00:00

BTEXT Can be anything you want; set BEACON time if you're using BTEXT for anything

CD SOFTWARE To allow use of open squelch on the radio.



CWID EVERY 0 (disabled) Change if required in your country; not needed or welcome in US

DIGIPEAT OFF Mobile shouldn't, but weather station might want to...

ECHO ON Useful while programming; APRS programs will turn it off

FLOW ON Also useful while programming

FULLDUP OFF Very important if this is also a digipeater!

GPSHEAD 1 $GPRMC Gives both position and speed, as well as date and time

GPSHEAD 2 $GPGGA Gives position, altitude, and time, but not speed or date

GPSINIT Should be blank, since you can't send anything to the GPS...

GPSPORT 4800 NORMAL CHECKSUM Sets speed to 4800, normal polarity signals, and use Checksums on strings

GPSTIME VALID RMC Choses the GPS string to use to set the internal clock


HID OFF Not needed unless this is a digipeater, but there is a better way


LGETCHAR $05 (CTRL-E) Allows APRS to ask the TNC for contents of LText buffers on its own schedule

LTP 1 GPSLJ V WIDE1-1,WIDE2-2 Set the paths to send various strings out when stand-alone, sets tracker symbol

MONITOR ON Important for APRS

MXMIT OFF Saves some clutter

MYCALL KA9VNV-1 Your call will vary... at least it better!

MYREMOTE JEEP-1 Select something unique - this is your remote control

PACLEN 0 Sets maximum packet length

PASSALL OFF Disregard packets with bad data

RTEXT PassWord String GoES HeRE! This is the second part of enabling remote SYSOP capabilities

SCREENL 0 VERY important for APRS, especially messaging!


Now that the TNC is ready, it is time to set up your APRS software...


Win/MacAPRS are simple to set up for plug-in use with this tracker. In the Settings menu, you will visit the Serial Port menu to check "Allow GPS" and "Pico ^E" for the VHF TNC port (or HF TNC port, if you're using a KAM 98). Make sure the baud rate matches the ABAUD setting of the TNC.

Next, in the Select TNC type menu, set "Single TNC on VHF" (HF for KAM 98), and select the appropriate INITxxxx.TNC file (INITKPC3.TNC, but you'll want to edit it for the changes noted above).

Finally, you will want to check the "Position Report Rate" menu to verify that the "Moving Position Report" rate is proper. This setting is in MINUTES, and does not really accept any fractions. Win/MacAPRS always poll the GPS buffers at 55 seconds into the minute, computer clock time; it is hard-coded1,2.

You can now open the VHF TNC, and Win/MacAPRS will start getting its position from the GPS. Note that this does not change the location set in the Settings/Station menu; your first position report, and the report sent any time you re-initialize the TNC, will ALWAYS be whatever you set there when you start Win/MacAPRS. I have discussed this with Mark Sproul, and this is hard-coded into Win/MacAPRS at this time. What the future holds, only Mark and Keith know. It affects all mobile Win/MacAPRS stations.


All versions 7.9 and above, should work fine, so long as you have a GPS license number from Bob. In fact, older versions should work, since the KPC-3 Plus does not have some of the limitations on command acceptance that the PicoPacket has.

You do need to tell it when you set the program up that the KPC-3 Plus is a PicoPacket, and set up the GPS input as being an "HSP cable", so that APRS knows to send a ^E periodically to read the GPS position.

Note that this has changed, starting with version 8.2x. The following is Bob's explanation of this from NEWNOTES.TXT:

Dual port Pico and KPC 8.3 now need to set ^E-SINGLEPORT-SWITCH using the alt-S-GPS-MODES-ESP command instead of the startup configuration just asking for type of TNC. Thus you can now toggle between HSP and ESP mode without re-configuring...

You will want to have APRS read the GPS position twice as often (or more) than your normal beacon time (the shortest BLT timer in use), so that the TNC never sends a "raw" position report (the ^E character resets the BLT timers each time it is seen1).

One caveat with DOS APRS... when you shut most versions down, they leave your BText set to your position at the time, plus "APRS QRT hhmm". This is set each time APRS sends a position report, so that it gets set even if you don't want it to be. To prevent this, when you shut down, either set your Beacon time to zero (disabled), or add a line to reset your BText to RESTORE.TNC in the SYSTEM directory... although some versions change the beacon rate and/or BTEXT after they send the RESTORE.TNC file. Failure to do this will your position to "jump" to where you shut off APRS, then back to your real position, each time your beacon is transmitted.


To put APRS+SA into Ctrl-E Polling (Pico Mode in older versions), on Main Parameters tab of Setup, put Port 1, the TNC port, into Pico mode. Adjust the GPS update rate as desired1.

Note that APRS+SA will poll the Pico/KPC-3+ with a Ctrl-E before transmitting a position, so as to always have the most recent position. The GPS update rate is only used to determine position to all other APRS stations.


1. Unlike the PicoPacket, the timers on the 4 location text buffers in Kantronics TNCs can be individually set, as can the path(s) they are sent by. They also have an optional "start" parameter, which can be used to space out different strings with the same report rate. Use of this parameter, though, negates the automatic resetting of the location timers when APRS (all versions) poll the TNC for its LText buffers. For this reason, the use of the START parameter should be avoided, and staggered-length timers used instead.

2. Because the length of Win/MacAPRS's polling cycle is fixed at 60 seconds, it is recommended that the minimum length of any BLText timer be 65 seconds, or "00:01:05", to make sure that, when using a computer with the TNC, no "raw" GPS packets are sent out.

3. NEW IDEA! By not clearing the buffer on the second LTEXT buffer, and setting it to a longer period, you can change the mobile beacon rate, simply by disconnecting the GPS output from the TNC when the vehicle is turned of. The TNC and radio can remain powered all the time; when the GPS information stops coming in, the TNC will give one last beacon at the fast rate (LTEXT 1), then all beacons will be from the slow rate (LTEXT 2) buffer, which doesn't get cleared. This will keep you on people's maps, without flooding the net with packets at your moving rate.

This works especially well with the Nextel GPS-enabled phone, because your vehicle track will drop to the slower rate each time you take your phone out of the vehicle, and return to the fast rate as soon as you plug it back in.

This file is Copyright 1998-2003 by Jeff Brenton KA9VNV. Seventh draft: March 2003, added link to Nextel GPS info.

APRS is a registered trademark of Bob Bruninga, WB4APR.
Last updated on: October 25 2013 19:14:01.