What is APRS?
The Automatic Packet Reporting System (APRS) is both a digital packet radio protocol and the radio communication network used to transmit those messages.
Both the network and the protocol are used by amateur (ham) radio operators around the world to exchange messages, weather reports, locations, and more.
The APRS network is an ad-hoc, multihop, mesh network made up of radio transceivers ranging from repeating stations on mountain tops to personal handheld transmitters.
It is also backed by a network of “internet gateway” stations allowing internet-connected devices to send and receive messages from the radio waves.
APRS packets are encoded digital radio transmissions.
The packets carry an alphanumeric representation of information such as GPS location, weather readings, personal messages, identifying information, and more.
These packets are then AX.25 encoded, frequency modulated, and usually transmitted on VHF amateur band radio frequencies.
What is APRS#?
Currently under development, APRS# aims to create a modern set of tools for the APRS protocol. This includes a few primary objectives:
- Provide a modern encode/decode library for APRS packets for use in APRS software projects.
- Encode and decode packets from analog radios via hardware such as a Terminal Node Controller, thus providing ham operators access to APRS communications without an expensive digital radio.
- Receive and decode packets supplied by the Automatic Packet Reporting System-Internet Service (APRS-IS) to give hams and their software access to APRS communications without requiring a radio receiver.
Eventually, additional goals such as graphical user interfaces, web services, or more may be added to the project.
The project is cross-platform and runs on the open source .NET Core framework.
APRS# was submitted as a project for InternLink 2020, a volunteer effort to replace internship and job opportunities for college students and recent graduates who lost opportunities due to the global COVID-19 pandemic.
Industry mentors with open source projects were paired with student or recent-graudate mentees to provide hands-on instruction in industry software engineering practices.
Through this program, Edwin Mukhebi was matched with the APRS# project. Since he joined in 2020, he has contributed much of the initial code for the console application and interfacing with the APRS-IS backend.