Building a $99 APRS Packet iGate in Under 10 Minutes

Raspberry Pi APRS Igate

APRS (Automatic Packet Reporting System) is a digital communications system used by amateur radio operators for local tactical communications and position tracking. An iGate (internet gateway) receives these radio packets and relays them to the internet, contributing valuable data to the global APRS network.

This guide, originally developed by KM6LYW, demonstrates how to build a receive-only APRS iGate using affordable components. For just $99, one can create a system that displays real-time APRS traffic including text messages, weather reports, beacons, positions, and object information.

Why Build an APRS iGate?

  1. The APRS network benefits from more iGates to improve coverage
  2. It’s an educational project combining radio, computing, and networking
  3. Visualizing local APRS traffic in real-time is informative
  4. It’s an affordable entry point into digital amateur radio

Parts List ($99 Total)

  • $18 – Raspberry Pi Zero 2 W with headers (Adafruit)
  • $4 – USB adapter cable (Amazon)
  • $31 – RTL-SDR software defined radio (Amazon)
  • $32 – Roll-up antenna (eBay)
  • $14 – LCD Display (Amazon)

Software Installation

Update the Raspberry Pi and install the necessary packages:

sudo apt-get update
sudo apt-get install direwolf rtl-sdr git python3-pip fonts-dejavu python3-pil python3-pyinotify python3-numpy
sudo pip3 install --break-system-packages adafruit-circuitpython-rgb-display
sudo pip3 install --break-system-packages aprslib
git clone https://github.com/craigerl/direwatch...

Configuration

  1. Enable SPI by editing the configuration file:
sudo nano /boot/firmware/config.txt
# Uncomment the spi line:
# dtparam=spi=on
  1. Reboot the Raspberry Pi to apply the changes.
  2. Create a Direwolf configuration file:
sudo nano direwolf.conf
  1. Add the following configuration, replacing NOCALL with your amateur radio callsign and updating your GPS coordinates:
MYCALL NOCALL
IGSERVER noam.aprs2.net
IGLOGIN NOCALL 12345
PBEACON sendto=IG compress=1 delay=00:15 every=30:00 symbol="igate" overlay=X lat=39.911 long=-122.935 comment="Direwatch Rx-only igate"
AGWPORT 8000
KISSPORT 8001
ADEVICE null

Launching the iGate

Navigate to the direwatch directory and run the following commands:

cd direwatch
rtl_fm -s 22050 -g 49 -f 144.39M 2> /dev/null | direwolf -t 0 -r 22050 - > direwolf.log &
./direwatch.py -o -l direwolf.log -t "APRS"

Note: The standard APRS frequency in North America is 144.39MHz. This frequency may need to be adjusted depending on region.

What’s Happening?

  1. The RTL-SDR receives radio signals on the APRS frequency
  2. Direwolf decodes the APRS packets and logs them
  3. The direwatch script displays the decoded information on the LCD screen
  4. Packets are simultaneously relayed to the APRS-IS network via the internet

This iGate is now operational, contributing to the global APRS network while providing a real-time display of local APRS traffic.

Final Notes

This project, designed by KM6LYW, serves as an introduction to digital amateur radio and the APRS ecosystem. Building more iGates improves the network for everyone, and the visual feedback makes it an engaging project even for beginners.

For more detailed instructions and additional configuration options, visit the Direwatch GitHub repository.

(Note: An amateur radio license is required to legally transmit on these frequencies)

Post Comment

You May Have Missed