FoxTrak Updated Firmware

For a long time now, I have been using a FoxDelta FoxTrak for APRS in my car as M1GEO-7. Recently I had some problems with the GPS and tracker, and while trawling around looking for a fix, I found an improved firmware for the tracker.

The FoxTrak ships with the Rolf Bleher (DK7IN) Firmware, which works great. However, several newer features are offered by the aprstracker project (PE1RXQ/PE1ICQ). At the time of writing, this was version 0.11, and offered the following features:


 * Understands GPGGA (Location/Altitude) and GPVTG (Course) sentences
 * Smartbeaconing (based on Xastir)
 * Autodetects serial polarity (RS232 or TTL)
 * Supports 4800 and 9600 Baud
 * Configurable via a serial null-modem cable
 * Included is a config program for Linux & bootable disk for others (see site)
 * Reports course and speed and altitude
 * Works with PIC16F84, PIC16F627, PIC16F628 and PIC16F648 controllers.
 * Sourcecode released under GNU GPL

Version 0.11 which I intended to use works only with PIC16F628 or PIC16F648 controllers. I settled for a PIC16F648A as that offered the most features for what I had. I programmed the chip and replaced the original DK7IN firmware 1.6 with aprstracker firmware 0.11. I powered the device up and noticed that the GPS light is illuminated always. The DCD light flickers with receive activity.

I decided to try and get the new tracker firmware to talk with the (new) programming software. There are two version available. I compiled the one included with the PIC firmware and used that. If you use the floppy disk, then you're on your own, though I expect it to be the same. The atprogrammenu came compiled, but is also easily made with

gcc atprogrammenu.c -o atprogrammenu

Which results in a new binary file, atprogrammenu. Connecting the tracker via null modem cable (swaps TX and RX) to a serial port on the computer, I fired up atprogrammenu.

sudo ./atprogrammenu /dev/ttyS5

The console program loads. I pressed enter and my hardware was found. There is a manual for aprstracker-11 in English which explains what's going on.



I made a few adjustments, such as my callsign, enabling altitude, changing to the New-N paradigm and adjusting the beacontext. I am using a Garmin GPS, and so using command N sets the GPS Config String [C] automatically. The differences are visible below.



Update, 12, June 2013: After changing radio from a Kenwood TK-762G(N)E to an old Tait T500, I noticed that a lot of the packets were being lost. Upon investigation, it turned out to be that the TX Delay [4] was too small, i.e. the transmitter didn't have time to fully stabilise before the tracker sent data. I also turned off proportional pathing, because I found that in central London, it often takes a few relays to get out to an IGate, so many frames were simply lost.