plugger
Well-Known Member
- Joined
- Apr 30, 2009
- Messages
- 759
- Reaction score
- 455
For some time now I've been exploring different ways of receiving and decoding APRS packets from the GPS transmitters I use (AltusMetrum and Big Red Bee) for backup telemetry, telemetry logging, and redundancy. Effectively all of my past work in this space has used handheld radios (in my case a Yaesu VX-8GR and a cheap Baofeng) to provide the radio link and in the Yaesu's case decoding of APRS packets. You can read about those efforts here.
GPS, APRS, and serial (or how I came to realise that redundancy and data are both good things)
More recently I've been playing with Software Defined Radios (SDRs) for non-rocketry related purposes such as decoding weather satellite transmissions and decoding POCSAG traffic. Last week I finally had the epiphany that this work is directly applicable to rocketry in terms of decoding APRS packets.
So take the TeleGPS for example. I always configure my AltusMetrum hardware with GPS to transmit APRS packets once every 5 seconds alongside the already enabled AltOS telemetry transmission. I like this as it gives me a 'fallback' in case I'm having issues with Altus Telemetry and it gives me a independent way to confirm that the unit has GPS lock and is transmitting coordinates. Below is what that transmission looks like in SDR++, a open source SDR application that has waterfall capabilities. The thin lines are the AltOS telemetry transmissions and the fatter/more square transmissions are APRS packets.
Given we know that APRS are AX.25 packets transmitted via AFSK at 1,200bps we can use rtl_fm to listen to the frequency our transmitter is transmitting on and then pipe that audio into multimon-ng which demodulates the AFSK1200 transmission and displays the APRS packets in output, as seen below.
Obviously my transmitter didn't have GPS lock but you can clearly see the Lat/Long/Altitude values as well as battery voltage and my unit's serial number. I'm pretty sure the "U" value is number of satellites the receiver has lock with.
To do this I'm using a RTL-SDR v3 SDR which costs $30. This unit has a SMA F connector which allows one to use the same antennas they already own and use for tracking rockets. In my tests I used a Nooelec RaTLSnake UHF/VHF stubby antenna which cost $16.
This requires a computer running Linux to use rtl_fm and multimon-ng but it's the cheapest and simplest way I've found to decode APRS packets. Moving forward I'm going to look into piping the output into a guified GPS app to get a map overlay of coordinates. And given how low overhead rtl_fm and multimon-ng are I could run this on a Raspberry Pi Zero board to have a compact battery powered handheld solution.
GPS, APRS, and serial (or how I came to realise that redundancy and data are both good things)
More recently I've been playing with Software Defined Radios (SDRs) for non-rocketry related purposes such as decoding weather satellite transmissions and decoding POCSAG traffic. Last week I finally had the epiphany that this work is directly applicable to rocketry in terms of decoding APRS packets.
So take the TeleGPS for example. I always configure my AltusMetrum hardware with GPS to transmit APRS packets once every 5 seconds alongside the already enabled AltOS telemetry transmission. I like this as it gives me a 'fallback' in case I'm having issues with Altus Telemetry and it gives me a independent way to confirm that the unit has GPS lock and is transmitting coordinates. Below is what that transmission looks like in SDR++, a open source SDR application that has waterfall capabilities. The thin lines are the AltOS telemetry transmissions and the fatter/more square transmissions are APRS packets.
Given we know that APRS are AX.25 packets transmitted via AFSK at 1,200bps we can use rtl_fm to listen to the frequency our transmitter is transmitting on and then pipe that audio into multimon-ng which demodulates the AFSK1200 transmission and displays the APRS packets in output, as seen below.
Obviously my transmitter didn't have GPS lock but you can clearly see the Lat/Long/Altitude values as well as battery voltage and my unit's serial number. I'm pretty sure the "U" value is number of satellites the receiver has lock with.
To do this I'm using a RTL-SDR v3 SDR which costs $30. This unit has a SMA F connector which allows one to use the same antennas they already own and use for tracking rockets. In my tests I used a Nooelec RaTLSnake UHF/VHF stubby antenna which cost $16.
This requires a computer running Linux to use rtl_fm and multimon-ng but it's the cheapest and simplest way I've found to decode APRS packets. Moving forward I'm going to look into piping the output into a guified GPS app to get a map overlay of coordinates. And given how low overhead rtl_fm and multimon-ng are I could run this on a Raspberry Pi Zero board to have a compact battery powered handheld solution.
Last edited: