Wednesday, 23 March 2016

$100 APRS Tracker Mk2

Way back (2001) before they invented Internet 2.0 I built an APRS tracker for less than $100. It was a collection of stuff slapped together into a box and sported a TinyTrak tracker, GPS receiver and a 2 watt transmitter. In its day it was quite an achievement. Most APRS implementations would run over $150 and require an old TNC and a full FM transceiver. GPS's in those days were also big and ugly too. To this day I still get requests for the radio I used.

Well, over the years it has had updates and repairs and even had a 10W linear amplifier added to improve its range but yet it was still a pile of components slapped together into a somewhat large box. It finally gave up the ghost and forced me to go a different route. I briefly looked at creating my own tracker but abandoned it due to time constraints and other projects.

That was then. This is now. I bought a new car recently and am in the throws of moving my radio gear into it. Whilst I have a "black box" radio that will do APRS very well I still want to run my own bespoke APRS tracker. So that led me back to the $100 APRS Tracker.

Looking around the shack I found an old Motorola SM50 left over from a D-STAR HotSpot project. All I needed now was the tracker and a GPS receiver. Then I remembered that I had looked at this project a few years back. At that time I was playing with Ublox NEO-6 GPS modules for use in NTP time servers. These are sub $10 GPS receivers for adding to your projects. They are trivial to use requiring just 3.3v and an antenna. As you can see from the below picture I was able to integrate one into a tracker prototype (it's that white square blob).

But it didn't work. Or rather, it worked badly. Whilst it would talk to the config software when attached to the PC and indeed would send a beacon it wouldn't send any position data. Now I remember why I abandoned it. Having a little more time now I took another look. 

Turns out that the problem was trivial. In its old form (pictured above) the GPS was spitting out position data at 9600bd but the PIC microcontroller was expecting the data at 4800bd. DUH!! The fix was to ground one of the config pins on the GPS thus forcing it into 4800bd mode. In writing this page and getting the files etc together I've come across some auto detecting firmware that makes this problem go away. And I can tell you that it works wonderfully! If only I had bothered to look a little harder the first time around.

So let's do some accounting ...
  • Motorola SM50 FM transceiver    $30  ebay
  • Tracker PCB                                  $8
  • Ublox NEO-6 GPS RX module     $12  ebay
  • PIC 16F628 microcontroller          $3    ebay
  • SMA antenna connector                 $1    hamfest
  • Motorola pre-wired 16 pin plug     $4    ebay
  • GPS "hockey puck" antenna          $5     ebay
  • 1/4 wave 2 meter antenna               $8    ebay
  • Mag mount for 2M antenna            $14  ebay
That's a grand total of $85. And if you already have some spare 2M antennas kicking around you can shave another $22 of that for a potential $63.

So I've parked all the board stuff on for you to order. You'll get 3 boards for $22. The PCB will allow you to use any current Ublox NEO-x GPS modules. They'll spit out 9600bd data so you'll have to use 9600bd compatible PIC APRS code. Luckily I've linked to that below. You can also change the PIC for a slightly better one which will have more facilities. 

Order from OSH Park

Eagle files for download ...

PIC microcontroller code for download ...

kf163tracker-2.0.2.iso It's a bootable Linux disk. Contains firmware, manuals and config software.

Thanks to DK7IN for his original idea and PE1ICQ for his expansion of this idea and his excellent code.