Getting Started with APRS TNC and Direwolf
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! 📡