APRS TRACKER

Despite my aversion to operating anything above 30 MHz and the voice modes, I've found a way to be fully QRV on 2m FM mobile and learnt a lot about a new mode on the way.

Homemade PIC-E trackerThis tracker was built from scratch and is a near-copy of the PIC-E running the GPS-2E firmware. A neat kit of the PIC-E tracker is available from TAPR - It's a good option if you don't want the hassle of building one from zero like I did.


WHAT'S APRS ?

In its simplest form, APRS allows the tracking of mobile stations. Developed by Bob Bruninga, WB4APR, it is a packet radio system which permits any number of stations to exchange position data just like voice users would in a net. APRS versatility is most evident during emergency or special event situations where the tracking of key assets in real-time is possible. Where is the Event Leader? Where are the emergency vehicles? What's the Weather at various points in the county? Where are the power lines down? Where is the head of the parade? Where are the VIPs?

APRS has been described as the answer to a problem that doesn't exist - but do we always have to do things for a reason? With such a narrow approach to life we would all be surfing the net and talking on cell-phones. The same goes for most of the activities in ham radio - why do we work rare DX on cw, collect prefixes, operate from rare IOTA islands in the middle of nowhere, bounce signals off the moon, spend 48 hours continuously transmitting …UR 599 = QRZ?… during the weekend contests when we could be enjoying the warm weather with the XYL. Who was it that said "…why climb Everest - because it's there!".

What's a tracker?
A tracker is the means by which a mobile station can be tracked. It may consist of a radio, antenna, TNC and GPS but since most of the time the mobile just transmits unconnected UI frames, the receiver part of the TNC is redundant. Therefore more and more stations are using small dedicated tracker units instead of full featured TNCs. These trackers can have various operating abilities. The simplest will just transmit a UI packet indicating their position every few minutes, others have more functions. The MIC-E by TAPR can also integrate a short position packet burst at the end of your voice transmission. As you converse, your geographical position is plotted for anyone who has their APRS system running. Some repeaters even have the ability to detect this packet burst on their input frequency and re-route it to the standard APRS frequency, normally 144.800 MHz.

 Simplyfied mobile tracker diagram

Some commonly used trackers:

MIC-E by TAPR
The TAPR (Tucson Amateur Packet Radio) MIC-Encoder allows any radio to be used for both voice and simultaneous APRS position/message reporting by integrating the packet into a very brief tone burst at the end of a voice transmission. With the MIC-E, no additional hardware is needed in the vehicle, other than a GPS unit. The MIC-Encoder or MIC-E was designed by Bob Bruninga in 1995. The MIC-E system not only reports position, course, speed and vehicle type, but also one of 7 messages, a BeaconText, and 3 analog telemetry values!

PIC-E by TAPR
The PIC-E was developed by TAPR. Designed to provide a generic interface between the digital world (in the form of serial data streams) and the amateur packet radio world (in the form of AX.25 packets) it is fully programmable by the user. He can programme the PIC microcontroller to take serial data from a GPS receiver or weather station and transmit it as formatted packet frames. Virtually any data that can be provided to the device as a serial input stream can be reformatted and transmitted as 1200 baud packet radio. It can also be programmed as a minimal MIC-E type tracker.

MIM by APRS Engineering LLC
APRS Engineering's MIM module is a complete telemetry TNC transmitter in under 1 cubic inch! It has a serial data port, 5 analog and 8 digital telemetry inputs. It outputs PTT and transmit audio AX.25 tones. The MIM was developed by Dr. Carl Wick, N3MIM, as a simple, light-weight, throw-away module for experimental balloons. WB4APR modified it for MIC-E operation and Dr. Will Clement refined it into a commercial product. The only external components, besides the sensors themselves, are a transmitter and optional GPS and battery.

Build or buy?
Before you undertake the task of rolling your own, have a look at the above web sites. The MIM's size and extra inputs are ideal for remote sensors - it's also a no-brainer to assemble. TAPR has a competitively priced kit available for the PIC-E which is recommended if you are not very technically competent or don't want the trouble of building/programming your own from scratch. They have an open system policy, which means that all applications for the PIC-E platform are available on the web site and you are encouraged to contribute to the amateur fraternity and write your own applications. The programme I use is GPS-E-2 by John Hansen, W2FS, and available from the TAPR site. Not happy with home construction, PIC programming or a natural technophobic? Then buy a kit and support the guys at TAPR.


ROLLING YOUR OWN - 'Don't try this at home kids... wait until you get to school'

So now you've decided to take the plunge, let's take a closer look at the PIC-E:
The PIC-E with GPS-E-2 firmware takes a NMEA-0183 sentence from the GPS, parses the necessary position fields and places these in a UI packet which it forms and converts to AX.25 tones for driving the mic input of a transceiver. It can be switched to work in automatic-mode, where it transmits a position beacon every few minutes, or manual-mode, where it transmits the position information at the end of a voice transmission (after you let go of the ptt switch). Additionally, the timing interval can be modified so the position information is transmitted 'often', for example when mobile, and 'not so often' when parked. The PIC-E's simple block diagram is shown below:

Basic PIC-E block diagram

The circuit
I redrew the standard PIC-E schematic by taking out such things as the Tripmate option jumpers, the on-board PIC microcontroller programmer and simplifying the mic to radio connections. You can see the changes by clicking below. If you can't make sense of my scribblings, you probably shouldn't be attempting to make your own from scratch - buy the kit or seek help from a technically inclined friend.

click to enlargeUsing a Garmin GPS-35 makes the Tripmate option unnecessary, but of course you need these jumpers if you plan on working with a Tripmate GPS. I already have a simple PIC 16C84/16F84 programmer so prefer programming the chip separately and then installing in the PIC-E. Crystals for the 614 and 16F84 are easier to obtain than ceramic resonators so, adding a couple of capacitors and programming the PIC fuses for xtal operation did away with the latter. The only other minor changes I made was to use a single bi-colour led to indicate Tx and Rx (red and green respectively) and implemented a 'discreet' toggle switch. Its purpose being to disable all the panel leds except for the Tx/Rx led ...if you leave your car parked at night it flashes occasionally and looks similar to an auto-alarm.

The PIC:
The Microchip PIC series of microcontrollers have been considered 'the' chip of the ninetees, they are to be found everywhere in various disguises. From washing machines to microwaves and decoder cards to security systems. Why? Because once you get your head round them they are so easy to use. The best way to get to know them is to programme them yourself. I familiarised myself with PICs by writing programmes in assembler for the PIC-16C84, the easiest to use because simple PC serial port programmers are easily homebrewed and this chip uses EEPROM, allowing fast reprogramming. If you've never used PICs before this isn't a good place to start learning - try some simpler PIC projects commonly found in magazines and on the internet first.

The ubiquitous 16C84 has now been superseeded by the 16F84, essentially the same but using flash-memory which is cheaper to manufacture. Programming is almost identical, except for the PWT (Power-On Timer) which is inverted, so careful when programming the fuses. On a breadboard version of the PIC-E tracker I managed to use a PIC 16C84 -04 (4MHz max) which I had lying around. Although running slightly warm it worked fine at 10 MHz… Wow, overclocking at its best! However, on the final version, I opted for the 16F84 (20 MHz max) as I didn't want to risk the 16C84-04 dying on me in a state where it permanently keyed up the transmitter!

The 614:
The MX614 is a replacement of the popular 3105. I have, in the past, successfully used the Texas Instruments TCM3105 but unfortunately, it is no longer manufactured. So TAPR's choice of the 614 is understandable, although if you reside outside of the US it may be harder to track down (no pun intended). Frustrating when you may still have 3105s on the shelf of your local supplier.


BUILDING AND TESTING

The TAPR version of the PIC-E uses a double sided PCB which results in a very small design. By simplifying the circuit somewhat, a compact one-sided board is possible, not much bigger than the original, which can easily fit into a small CPL-4 type metal case. etched and tinnedI designed the board manually using freeware pcb design software and used the uv-develop-etch method to make the board. This gives excellent results and is well worth the time invested in setting up a small 'lab' to make pcbs this way.

Programming the 16F84
You can use the Ludipipo programme, with suitable serial programming interface, to programme the PIC 16C84 and 16F84. The software and circuit is available on the web. Since the GPS-2E application (as well as on-board programming of the PIC-E… not used here) can generate an actual hex code file, I then use Ludipipo to programme this hex file into the 16F84 off the board. Not as versatile as the original but how many times will you want to re-programme the PIC-E's configuration anyway? For testing purposes, it's best to keep the timing interval down - 10 secs and 20 secs for 'short' and 'long' respectively is good for auto mode.

Which GPS?
After searching various web resources I chose the Garmin GPS-35 HVS. The HVS version can be supplied from your nominal 13.8v car supply. Unlike normal GPS units it has no display or buttons and looks like a small computer mouse, only black in colour. Its cable ends in a pigtail of wires, it's up to you GPS-35 by Garminto connect them correctly... read the manual and don't mess up! If you decide to get a display type GPS unit make sure it has a serial port and an external antenna option. These GPSs may seem cheaper but don't forget to add the cost of an active antenna, serial cable and power supply cable. For APRS use only, the 35 is ideal as it has all of these built in at no extra cost. All you need to add is a clear view of the sky, a source of power and use a terminal programme to collect position data and issue it commands at 4800 bauds 8N1.


About NMEA-0183
When powered up the GPS sends NMEA strings via a serial port. A second port is also provided to talk to an optional differential receiver if surgical precision is required. Configuration and commands are achieved by sending exact NMEA sentences back to the GPS. Making initialising, changing baud rates, enabling/disabling various NMEA GPS output sentences - all possible.
The PIC-E uses 'Recommended Minimum Specific GPS/TRANSIT Data (GPRMC)':

	$GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,ddmmyy,x.x,a*hh

	1    = UTC of position fix
	2    = Data status (A = valid position, V = navigation receiver warning)
	3    = Latitude of fix
	4    = N or S
	5    = Longitude of fix
	6    = E or W
	7    = Speed over ground in knots
	8    = Track made good in degrees True
	9    = UT date
	10   = Magnetic variation degrees (Easterly var. subtracts from true course)
	11   = E or W
	12   = Checksum

Make sure the GPS-35 is configured to be spitting out a valid RMC sentence at 4800 bauds. Valid also means 'locked', so the second field should be an A = Valid Position (as oposed to V = Nav Receiver Warning) otherwise, despite the PIC-E receiving the correct sentence type from the GPS, it will not consider it to be valid - its Fix-Valid led remaining off.
GPSs take time to determine a navigational solution. If the unit has been switched off for a long period, transported over large distances or has an internal memory battery failure, be patient - monitor the output sentence for a couple of hours and wait for the 'V' to change to an 'A' before hooking up to the PIC-E.

Testing
Testing is straightforward and possible even if you haven't bought your GPS yet. Mount all the components on the board (except the two ICs) then fix it into a case and wire up all the switches, leds and connectors. After double checking everything, power up and make sure you have 5 volts on both IC +Vcc pins. If all is well, switch off and insert the 614 and programmed 16F84 into their sockets.

Connect up your GPS and radio with dummy load. Power up the tracker - the Fix-Valid led should blink once and after a while it should stay lit indicating the NMEA string is good. If you haven't got a GPS yet use one of the GPS simulator programmes available. A simple one is NMEASEND.EXE available in TOOLS.ZIP from http://rover.wiesbaden.netsurf.de/~hirschgps/. Make sure you select the correct NMEA string (GPRMC) otherwise the tracker will not lock. Run this on a PC and connect its serial port to the GPS input of the PIC-E. In auto-mode the tracker should report its position at the time interval you selected during programming. In manual-mode it inserts an aprs packet frame when you release the ptt, in accordance with the configuration previously programmed. Using another receiver close-by, you should be able to hear the packets and even visualise where you are, if connected to a TNC and PC running APRS software.

TestingThis photo shows the homebrew PIC-E being tested. NMEA strings are being generated by the PC in the background and you can see the tracker's Fix-Valid blue led lit, indicating that the GPS is outputing valid active data. The board with the ZIF socket, next to the tracker, is the homemade Ludipipo PIC serial programmer.

 

No position data on your UI frame?
You can't see your geographical position when monitoring the tracker's periodic UI frames because it uses a different data format. The PIC-E extracts the latitude and longitude position data from the GPS's RMC string and converts it into MIC-E format position data. Instead of normal latitude and longtitude, it uses this shorter string of characters to divulge its position. This MIC-E format data in the UI frame is read by APRS software applications and then plotted onto a map.

 


Any regrets?

Just a couple ...one of which I managed to implement as a last minute mod.

1. A firmware reset pushbutton. I squeezed one onto the back panel as a last minute addition. It just grounds the 16F84's MCLR pin.

2. A rear terminal socket. To connect a PC running terminal software and 'listen in' on the NMEA strings the GPS is sending to the PIC-E and issue commands to the GPS. Handy in the testing stages.

3. A Txer watchdog as a safety measure. If the PIC's programme should freeze in a state where it permanently keys the transceiver, this would avoid a hot radio and blocking local traffic on the frequency.

4. An automatic timer to switch off the tracker and radio - about 15 minutes after parking and detecting engine switch off. Even though I have a 100 Amp/Hr car battery, this would avoid any flat battery embarrassments.


INSTALLATION AND USE

Using the GPS-2E software I programmed the unit's PIC to transmit my position.

In Tracker (automatic) mode - every minute when mobile (often) and every ten minutes when parked (not so often).
…and, although never used yet:
In MIC-E (manual) mode - every two minutes when mobile (often) and every ten minutes when parked (not so often).

Additionally, callsign, SSID, UI paths and the beacon text set to send on every fourth transmission were configured. It's important to try different settings before final installation to see which works best for you and also to familiarise yourself with the GPS-2E firmware timing philosophy.

The PIC-E was installed in a convenient position allowing easy switching. The transceiver was bolted in a safe place away from prying eyes and the GPS-35 positioned on the dashboard near the windscreen …not putting it outside the car is no problem, it still locks fast and stays locked. Although there are no local APRS nodes here good local coverage is still achieved using 50 Watts into a halfwave antenna. Because you are transmitting UI packets there is no confirmation from other stations to say your transmission was received ok. Using less power or a smaller antenna will probably limit your packet UI frame's coverage - unless you are sited favourably or it was retransmitted by a 'RELAY or WIDE cooperative' station.

 

The PIC-E's been in my car since March 2000 and so far so good - no surprises. APRS mobile activity here in CT is virtually nil so I've been using the local packet frequency to drum up interest from club members before migrating to the European APRS frequency of 144.800 MHz. Here, using APRS nodes to spread each mobile's UI frames, a coverage of hundreds of kilometers is possible. If these nodes are then interconnected with APRS compatible voice repeaters, MIC-E (manual) mode user's positions will be seen on the APRS network while they chat over their voice repeaters.

 

About APRS Compatible repeaters
Although the APRS packet frame at the end of a voice transmission is only about 300 mSecs long and usually not configured to transmit after every single transmission, it is good practice to stop this packet burst from going through the voice repeater. When APRS compatible repeaters detect a packet burst on their input they automatically mute their output. This is hardly noticible during 300 mSecs. They also redirect the APRS frame to the standard 144.800 MHz operating frequency, usually an APRS node.

The APRS node takes a sample of the voice repeater's input and using a 'true' DCD circuit, outputs a signal to mute the repeater's COR line, thus muting the output. Therefore, the APRS frame never reaches the repeater's output.
Instead this packet frame is sent to the second TNC port and onto the local APRS frequency.

With repeaters having this facility, it is possible to not only hear but also see the real-time location of any mobile who is using a MIC-E tracker (or PIC-E in manual-mode).

 

 


Was it worth it?
Most definitely! I usually get bored pretty quickly with other modes I try, always going back to operating exclusively CW. The PIC-E was a good way to find out about and experiment with new APRS technology - and the best thing is, because it operates by itself, you can forget it's there and so turn your attention to operating your favourite mode …anyone for a mobile CW QSO?

 


Back to Fun Stuff