Introduction to APRS and Direwolf

APRS (Automatic Packet Reporting System) is a digital communication protocol used by amateur radio operators for real-time tactical messaging, position tracking, and weather station reporting. To decode and transmit APRS packets, a TNC (Terminal Node Controller) is required.

Direwolf is a popular software-based TNC that can be used with sound cards and software-defined radios (SDRs) to send and receive APRS data.


Why Use Direwolf?

Direwolf offers several advantages over traditional hardware TNCs:

  • Software-based solution – No need for expensive hardware.
  • Multiplatform – Runs on Windows, Linux, macOS, and Raspberry Pi.
  • Works with SDRs – Can be used with RTL-SDR for cheap APRS reception.
  • AX.25 Support – Works with other packet radio applications.

Installing Direwolf

On Linux (Debian/Ubuntu)

sudo apt update && sudo apt install direwolf

On Raspberry Pi (Raspbian OS)

sudo apt install direwolf

On Windows

Download the latest Direwolf release and extract the files. Run direwolf.exe from the command prompt.

Mac OSX

Ports:

sudo port install direwolf

or on brew:

brew install direwolf

Configuring Direwolf

Direwolf is configured using a text file called direwolf.conf. A basic setup for APRS RX/TX might look like this:

Example on linux:

ADEVICE plughw:1,0   # Define the audio input device
CHANNEL 0
MYCALL N0CALL-1      # Replace with your callsign
MODEM 1200           # 1200 baud for VHF APRS
AGWPORT 8000         # Enables AGWPE protocol
KISSPORT 8001        # Enables KISS TNC mode

Note The ADEVICE or audio device will vary depending on you operating system

  • linux :plughw:1,0 is a pulse audio, or alsa audio sound device
  • windows: Default or another audio device
  • osx : “Default” or if using VB-Cable “VB-Cable”

After editing the configuration file, start Direwolf:

direwolf -t 0 -c direwolf.conf

Decoding APRS Packets with Direwolf

Once Direwolf is running, it will listen for APRS packets. A typical decoded APRS message might look like this:

N0CALL-9>APDW15,WIDE1-1,WIDE2-1:
=3749.06N/12224.68W- Running APRS with Direwolf!

This message contains:

  • Sender: N0CALL-9
  • APRS Software: APDW15 (Direwolf)
  • Path: WIDE1-1, WIDE2-1
  • Position: 37°49.06'N, 122°24.68'W
  • Status: “Running APRS with Direwolf!”

Using Direwolf with SDR

Direwolf can decode APRS packets received via RTL-SDR:

rtl_fm -f 144.8M - | direwolf -c sdr.conf -r 24000 -D 1 -

Make sure your sdr.conf file is set up correctly for SDR operation.


Sending APRS Messages

You can transmit APRS messages with Direwolf using Xastir or YAAC by connecting them via AGWPE or KISS mode.

Example using kissattach:

sudo kissattach /dev/pts/1 radio 44.0.0.1

To manually send a beacon:

echo "N0CALL-1>APDW15:!3749.06N/12224.68W- Running APRS with Direwolf!" | nc -u 127.0.0.1 8000

Conclusion

Direwolf is a powerful and flexible tool for APRS operations. Whether you’re using it with a radio, an SDR, or over TCP/IP, it allows you to send and receive APRS packets efficiently.

For more advanced configurations, check out the official Direwolf documentation. Happy packet decoding!


Further Reading

If you found this guide helpful, share it with fellow ham radio enthusiasts! 📡