Carter Temm

Airwaves

Airwaves is the radio receiver that I always wanted, since before I became obsessed with radio.

It plays AM, shortwave, FM, HD Radio, aviation, NOAA weather radio, and can decode Aircraft Communications Addressing and Reporting System (ACARS) messages through an RTL-SDR dongle. You can run it from the command line, use it from a browser, or cast the live receiver to Sonos and AirPlay speakers.

Mine runs on my home server. The dongle and antenna stay plugged in there, then I open the web frontend from whichever computer or phone I happen to be using. Most of the time I cast it to my Sonos system and leave the radio playing while I work. If I want to tune around without filling the house with music, I listen in the browser instead.

Most SDR programs assume the dongle is plugged into the computer in front of you. With airwaves you can do that, but you don't have to if you don't want to.

Features

When you tune a station in the FM band, Airwaves will play in stereo and decode RDS (radio data system) messages, giving you high quality sound and telling you what is playing for stations that support the protocol.

On stations that broadcast HD Radio, Airwaves will switch to the digital signal and move through HD1, HD2, and the other subchannels.

AM and shortwave use the dongle's direct sampling mode. Shortwave covers 2.3 through 14.4 MHz, in 5 kHz steps. To get this to work you will want a long wire antenna, preferably placed outside. Some dongles need a hardware modification for direct sampling, and the bands above 14.4 MHz need an upconverter.

The aviation receiver covers 118 through 136.975 MHz. NOAA weather radio covers all seven US channels.

The default is live playback. However, you can also decode SAME alerts and the 1050 Hz warning tone, filtering by a particular county to keep the receiver quiet until something relevant comes through.

Airwaves also has presets, band scanning, signal strength, and MP3 or WAV recording. Press one key to start a recording, tune or scan as much as you want, then press it again when you are finished.

Using it over the network

Start Airwaves with --web to serve a web page to your local network that works like a radio's front panel. The page has controls for tuning, scanning, presets, bands, volume, and audio output. The sound can play on the server, in one or more browsers, or through a Sonos or AirPlay speaker.

The frontend works with a mouse, touch screen, or keyboard. The keyboard keys have specifically been designed to operate a lot like a physical radio that you might find in a living room, or in a car (before it was decided that everything needed to be a touch screen). For instance, the left/right arrows step between frequencies, shift+left/right arrows seek between available stations, up/down arrows adjust the volume, etc.

Because I use a screen reader, the frequency, station name, messages, and weather alerts are announced automatically. If you don't use a screen reader and you think text to speech output would be cool, you can enable it in settings.

More about ACARS

ACARS is used by aircraft and ground stations to exchange short text messages over VHF radio. Depending on what a plane sends, you might receive its position, altitude, route, weather request, gate information, or a report from one of its onboard systems.

Airwaves listens to several ACARS channels at the same time, taking messages in the ACARS format and converting them into a format that makes more sense to humans.

22:26 131.550 Y41747 XA-VLH: POSRPT 1747/06 KLAS/MMGL .XA-VLH /POS N33080W111591/ALT +36977/MCH 767/FOB 0080/ETA 0745

Becomes:

22:26: Flight Y4 1747 (XA-VLH) from LAS to GDL, position report, at 36,977 ft near Casa Grande, Mach 0.767, ETA 00:45

I like leaving ACARS mode running to see what passes nearby. When a flight pops up, I can easily find out where it came from and where it is going, then wait to catch another one.

Think nerdy Pokémon Go, except everything is thirty thousand feet above me and moving at several hundred miles per hour, and I don't have to leave my chair!

Try it

Airwaves runs on Windows, macOS, and Linux. There are ready made downloads for Windows and Apple silicon Macs. Running from source requires Python 3.10 or newer, and HD Radio support comes from nrsc5.

The GitHub README has RTL-SDR driver instructions, commands for every band, the complete key list, web and casting setup, and more ACARS examples.