Receiving APRS Packets with a Baofeng Radio
Receiving APRS and running an IGate with a Baofeng UV-5R, a Digirig and Linux.
APRS is a distributed digital communication system used by radio amateurs. It can be used to send your position, share telemetry (a weather station, for example), and even send text messages to other hams. Some APRS stations are connected to the internet (called an IGate), meaning you can track APRS data without the need of a radio (visit aprs.fi to get an idea). Some transceivers have APRS built-in, like the Yaesu FT5DR, but most entry level radios, like the Baofeng UV-5R, do not.
I don’t own a fancy APRS capable radio, so I need a cheaper way to play with APRS: a computer, a Baofeng (€50) and a Digirig ($50).
Receiving APRS data
Baofeng UV-5R
Let’s start with the radio. Turn off squelch (SQL) in the Baofeng menu. We want to forward all incoming audio to the computer and squelch might block weaker signals. Also, turn off dual watch (called ‘TDR’ in the Baofeng menu) since an incoming signal on the other channel could interrupt the APRS packet if both arrive at the same time. Set the Baofeng to listen to 144.8 MHz for Europe (or find the APRS frequency for your region). Turn the volume of the radio halfway, we will fine tune this later.
Digirig
Connect the black Baofeng cable (the green one is for programming the radio) that came with the Digirig with the radio and the audio port on the Digirig. Make sure the Baofeng connection is snug. Connect the USB-C cable to the other side of the Digirig and the computer.
Computer
After connecting the Digirig to the computer, check the number assigned to the Digirig’s sound card with arecord --list-devices. In the example below, “card 0” is my internal sound card (ignore this one) and the Digirig is “card 1” (the one with “USB PnP Sound Device”).
Turn the microphone input of the Digirig on via amixer, we don’t want to mute the incoming audio (you can also use alsamixer if you prefer a TUI). The card number should match the number you found above.
I don’t know about automatic gain control and am not sure what this does.
Install Dire Wolf and edit the configuration file (copy the example config from ‘/etc/direwolf.conf’ to the home directory). In the config file, look for and uncomment the line with ‘ADEVICE’ (line 77) and make sure it matches the card number from above.
Start Dire Wolf. The -t flag disables the Dire Wolf colors since it turns my black terminal white, but that’s optional.
Dire Wolf will now listen for APRS packets and decode them as they come in. Note that there won’t be any audible sound since the audio is piped directly to the computer. If you don’t see packets come in from time to time, you might be in a region with low APRS activity, check the aprs.fi website to make sure.
Note the warning about the audio level in the APRS packet above. This means the volume knob on the Baofeng is set too loud. Turn it down a notch, so the first number (198 in the example) is around 50 to make it easier for Dire Wolf to decode the packets.
Forwarding APRS data to the internet
Now that we can receive packets on a computer, we can also forward the packets to the internet. This turns our little listening station into an IGate.
Back to the Dire Wolf configuration file. Find the “INTERNET GATEWAY” section starting around line 337 and change the following two lines:
- IGSERVER (line 350). Replace the server with the one for your region: e.g. ‘euro.aprs2.net’ for the European server.
- IGLOGIN (line 355). Replace this with your call sign and passcode. The passcode is a hashed version of the call sign.
This is the minimum we need to forward packets we receive on the radio to the APRS-IS network. Don’t forget to restart Dire Wolf.
Checking the IGate server (http://78.47.200.124:14501 in the example above) should list your call sign if the connection succeeded. It counts the forwarded and duplicated (already reported by another station) packets.
This will not show the station’s symbol on the aprs.fi website yet. We need to enable two more options in the Dire Wolf config file first:
- MYCALL (line 142). Replace the ‘N0CALL’ with your own call sign.
- PBEACON (line 365). This will show the little symbol on the map where the IGate is located. Use ‘overlay=R’ since we are only forwarding packets to the internet. You can find your location in degrees, minutes and seconds at the top left of the aprs.fi website.
Restart Dire Wolf once again and it will send an APRS packet over the internet with the IGate’s position.
A little black diamond symbol with an ‘R’ will now show on the map with your call sign.
We went from receiving and decoding APRS packets to sharing the packets with the wider ham community by running our own IGate. We haven’t transmitted anything with our radio yet… stay tuned.
73 de ON3CIM