APRS-IS · Real-Time · SwiftUI

Live ham radio,
in your pocket.

Connect to the global APRS-IS network. Watch nearby ham radio stations appear on a live map. Transmit your own beacon — all from iPhone or iPad.

200 km live radius
34+ stations tracked
Direct TCP connection
APRSBeacon map view showing ham radio stations near Toronto
Background

What is APRS?

01

Position Reporting

APRS (Automatic Packet Reporting System) is an amateur radio protocol for broadcasting real-time data — primarily GPS coordinates — over radio and the internet. Think of it as Twitter for ham radio operators, minus the character limits.

02

A Global Network

APRS-IS is the internet backbone. Digipeaters and igates bridge RF transmissions and the internet, creating a worldwide mesh of hundreds of thousands of visible stations. APRSBeacon plugs directly into this via TCP.

03

More Than Location

Stations broadcast weather telemetry, messages, objects, and more. A single weather station packet carries temperature, wind speed and direction, gusts, humidity, barometric pressure, and rainfall — all in one transmission.

Example APRS-IS Packet · VA3VWX-13
VA3VWX-13>APRS,TCPIP*:=4337.34N/07929.87W_270/000g000t047r000p000h78b10079
Features

Everything you need
from APRS.

01 — Live Map

Every station within
200 km, live.

A native MapKit map renders all received stations as colored, typed pins. Digipeaters, weather stations, mobile units, and more — each with distinct icons derived from the full APRS symbol table.

  • 200 km radius filter around your current location
  • 25+ APRS symbol types rendered with distinct icons and colors
  • Connection status badge: Verified · 34 stations
  • One-tap re-center on your position
Map view
02 — Station Details

Full weather data
at a tap.

Tap any pin for a bottom sheet showing callsign, coordinates, and comment. Weather stations go further — showing a full atmospheric snapshot sourced directly from the raw APRS packet.

  • Temperature displayed in °F and °C simultaneously
  • Wind speed, direction (compass bearing), and gusts
  • Relative humidity and barometric pressure in hPa
  • Rainfall totals over the last 1 hour and 24 hours
Weather station detail sheet
03 — Beacon Transmitter

Configure your station
identity.

Enter your callsign, pick an SSID from 0–15, choose from 25 APRS symbols, and add a comment. The APRS-IS passcode is automatically calculated — no lookup tables or manual computation needed.

  • Callsign + SSID displayed as full callsign (e.g. VA3XXX-9)
  • Passcode auto-calculated via XOR hash, masked to 15 bits
  • 25 outgoing beacon symbols: person, car, airplane, and more
  • GPS location or manual lat/lon entry with map picker sheet
  • All settings persisted across sessions via AppStorage
Beacon configuration form
04 — Auto-Beacon

Stay on the map
automatically.

Set a timer or movement threshold and APRSBeacon handles the rest — even in the background. Ideal for SOTA activations, portable operations, and mobile tracking. Drops and reconnects automatically.

  • Timer: 30 s, 1 min, 5 min, 10 min, 15 min, or 30 min intervals
  • Movement trigger: 50 m / 100 m / 500 m / 1 km / 5 km thresholds
  • 60-second minimum gap between movement-triggered transmissions
  • Background location support ("Always" CoreLocation authorization)
  • Auto-reconnects if the TCP connection drops while active
Auto-beacon and live log view
Devices

iPhone and iPad,
natively built.

SwiftUI scales naturally across devices. The same codebase delivers a focused iPhone interface and a spacious iPad form — no compromises.

APRSBeacon on iPad Air 13-inch showing the map view
APRSBeacon on iPhone showing weather station detail
Technical

Built on solid
foundations.

⟡ Built with SwiftUI
MapKit CoreLocation Network NWConnection Combine AppStorage Foundation
Server rotate.aprs.net : 14580
Transport Plain-text TCP (APRS-IS)
Filter r/lat/lon/200 km
Keepalive Comment packet every 10 min
Packet log Rolling 200 entries (50 shown)
Passcode algo XOR hash, seed 0x73e2, 15-bit
● Verified · rotate.aprs.net:14580
[21:58:11] RX: # aprsc 2.1.20-gdaa359f
[21:57:51] RX: VA3VWX-13>APRS,TCPIP*:
=4337.34N/07929.87W_270/000g000t047r000
[21:57:31] TX: VA3XXX-9>APRS,TCPIP*:
!4361.78N/07922.67W/APRSBeacon iOS
[21:57:11] RX: # aprsc 2.1.20-gdaa359f

A scrollable monospaced log captures every incoming and outgoing APRS packet in real time. Watch your beacons transmit and confirm server acknowledgement — all timestamped.