APRS, or Automatic Packet Reporting System is an amateur radio-based system for real time digital communication of information. This information may be weather data, GPS location information, text messages, digital repeating (digipeating), or other queries. There are existing APRS options available in commercial radios, but I wanted to see if I could drive the price down to a bare minimum. This post walks through the steps I took to create an APRS GPS beacon as well as how I installed this beacon in a mobile station.
I have been considering adding a mobile APRS setup for a number of months, but as my schooling ramped up I had to put the project on the shelf and return to it again when things cooled off between work and school. Luckily my thesis defense finished up near the beginning of the semester and I was able to get some time at the start of December to put some more thought into getting this project going.
I came up with the idea of using a Raspberry Pi as a mobile beacon after seeing the TNC-Pi in a post on Reddit. I have always considered the Raspberry Pi to be neat way to play retro arcade games, though I didn’t see much practical use for it until I considered the Raspberry Pi contained more than the processing power of a Terminal Node Controller, the gateway to bringing my mobile beacon on air.
The drawback was I was not able to find anything on the web that addressed the deficiency in transmitting APRS location data, so that meant I could create my own solution. I found the least expensive solution was was to piece together a using the TNC-Pi, a Baofeng Radio, and a modified version of the TNC-Pi to Baofeng radio cord sold on the Coastal Chipworks website. After exchanging a few emails with John Hansen, W2FS who designed the kit, I discovered though setting up an internet gate (iGate) or a digipeater was well covered, there might be some room for including a couple of pointers for setting up GPS location data with the Raspberry Pi system, so that’s where I would need to start my research.
Originally I wanted to use a standalone GPS chip to interface with the Raspberry Pi’s Python configurable IO ports, but I quickly realized banging bits in python to decode the National Marine Electronics Association (NMEA) 108 protocol that GPS uses would be more than I wanted to take on for this project, so I hopped on the web and found a USB GPS for around $30 that would plug into the Pi. Turns out the Xastir software supports innate GPS decode and radio transmit with the Pi and only needed a few settings adjustments to start transmitting as a GPS beacon.
As for the install in my vehicle, I wanted my APRS tracker to automatically power up when the car started, but I didn’t need the rest of the controls on the radio to be immediately available. I also wanted to be able to manually switch off the beacon from transmitting with a switch near the drivers seat. Finally, I wanted to to be able to monitor the transmit PTT indicator from my driver’s seat due to an intermittent issue I encountered with the PTT not releasing after transmission ended. With these goals in mind I began by putting together a couple of simple scripts that would wait until the GPS module locked onto a satellite and then run Xastir on boot.
Well, I wasn’t expecting snow here in Colorado between Christmas and New Years (because, why would it be snowing when there’s time to go to the mountain?), so I had to put the installation of this project off until the weekend after New Years when it warmed up a bit. I made quick work of the install and soon was ready to test my system.
I have tabulated the final cost for this installation below. If you don’t already have a spare Pi and a few cheap handhelds sitting around, you will have to include that in your cost. It is probably worth mentioning that this is not the ideal solution to this problem; Xastir is a GUI based application that has more overhead than is needed for a simple transmitting beacon. Though power draw and processing power were considerations for this project, I would rather deal with a few extra mW of power than to redesign an interface that would boot from the command line. This concept can be easily modified to act as a home weather station, iGate, or APRS reader/display with minimal extra hardware.
USB GPS: $28.85
TNC-Pi/TNC-Pi Cable + shipping: $48
Battery Eliminator for UV-5R: $6.99
Wires, Power Plugs, Fuses and Connectors for mobile install: ~$80
As you can see I spent a few extra dollars getting connectors and switches to minimize drilling extra holes in the interior, but you depending on your preferences, this line item can be reduced.