A start on the GPS and APRS computer software.



Having reverse engineered the old tracking board over the weekend, I connected up the GPS module and, after debugging minor issues on the serial port…

GPS Input


That’s right, I’m receiving GPS data in NMEA format strings, and I was able to get a lock. The next step with the GPS component is to write a simple parser to parse out these values so that they can be bundled into APRS packets and transmitted back to ground.

Radio Output

Thus far my understanding of ARPS over the air works something like this. APRS packets are encoded using an AX.25 modulator and transmitted at 1200 baud. The details of this I’ll go into in a later post, but for right now what we need to know is that in order to transmit APRS data, we need to present an audio signal to the radio in the form of a sine wave (AFSK Audio Frequency Shift Keying). Essentially, I’ll need to generate audio frequencies of 1200Hz and 2200Hz (the binary 1’s and 0’s of the ARPS data) and put that onto the HX1 data pin.

When I began investigating how to do this I had no idea how to generate this signal using an Arduino, and had only attached the correct pin of the micro-controller to the radio module on recommendation from a ukhas member. I’ve researched a little more, and found a great little snippet of code online for generating sine waves on the Arduino. I plan to study this code more, learn how it works, and then translate that knowledge into my modem software, but before I study any code it’s always best to see that it works right? So I hooked up my Arduino to this amplified desktop speaker and…

Great! Sine wave based tones from the device, which I’ll examine later on the oscilloscope as I begin tuning this code to my needs.

Well, that’s it for this progress update. I’m going to be out of town for the best part of the next three days, so I guess I’ll get back to this project next weekend.

Thanks for reading!


Leave a Comment