Category: Broadcast Radio

NightDX: Automated Overnight Shortwave DX Listening with an Airspy HF+

Thank you to Marco Zennaro for writing in and sharing NightDX, a free terminal app for macOS, Windows and Linux that lets an Airspy HF+ do your overnight shortwave listening for you. The menu interface is deliberately styled like early-90s DOS software.

NightDX pulls the EiBi, AOKI and HFCC broadcast schedules, plus live solar flux and Kp from NOAA. A propagation model then predicts what should reach your location and calibrates itself against what your own radio hears. The HF+ sweeps all the bands in about 10 seconds to see which carriers are really there, and overnight NightDX records the best stations, putting ones you've never logged first.

Optional AI features can then label each recording as speech, music, or noise using an AudioSet classifier, and transcribe and translate it with OpenAI's Whisper, which helps when writing reception reports. In the morning, a browser report shows the recordings with audio players, one-click reception reports drafted in Gmail, and a QSL card log.

We note that NightDX doesn't claim to identify stations. It shows schedule names as candidates and flags recordings where the evidence doesn't fit, such as the wrong language or a signal far too strong for the predicted path. Only the Airspy HF+ (Discovery or Dual Port) is supported for now, so there is no RTL-SDR support. Marco notes that other SDRs such as the Perseus and Elad are being looked into. The code is open-source under the MIT license and available on GitHub.

NightDX Screenshots
NightDX Screenshots

AI Disclaimer: Marco notes that NightDX was built with the help of Claude.

DAB SDR GUI: An Open-Source DAB+ Receiver for the RTL-SDR and SDRplay

Thank you to Tomas Krajco for writing in and sharing DAB SDR GUI, a Windows program for listening to DAB+ digital radio with an RTL-SDR or SDRplay RSP. DAB+ is the digital broadcast radio standard used in much of Europe and Australia, and is transmitted in VHF Band III (174 - 240 MHz).

The program scans Band III and saves the stations it finds, then plays the selected station while showing its logo, ensemble name, and song text. It also has a 10-band equalizer with presets and a spectrum analyzer with RTA bar, FFT curve and LED bar display modes. Note that the analyzer shows the decoded audio rather than the RF spectrum, so this is a program for listening rather than signal analysis.

Decoding is handled by Tomas' own plain C DAB/DAB+ library called dab-lib, and both the library and the GUI are open source under the GPLv2 license. The latest Windows installer is v0.1.5, and older Android (RTL-SDR) and Linux AppImage (SDRplay)
builds are also available on the SourceForge files page.

DAB SDR GUI Playing a DAB+ Station
DAB SDR GUI Playing a DAB+ Station

AI Disclaimer: Recent commits to the dab-lib GitHub repo, including the port of the GUI to WinUI 3, list GitHub Copilot as a co-author.

OnAir Adds Decoder Support for Almost Every Signal

Just last week we posted about OnAir, a new open-source program that started out as an easy-to-use digital and analog TV decoder for software-defined radios. It also had support for a few digital modes like ADS-B, GNSS and DMR.

In the last week, with the obvious help of Claude AI, OnAir has added experimental support for almost every single analog and digital signal and application out there. Support ranges from digital voice modes like P25 and NXDN, to HF digital modes like HFDL, to aircraft signals like ACARS and VOR/ILS, to ocean radar, to a radio astronomy integrator, to satellite decoders like Iridium and Inmarsat, to cell tower metadata decoders to Wi-Fi and many many more.

Obviously, with these decoders all being vibecoded so quickly, there is no guarantee yet that they will all work as expected. However, we did give some decoders in the program a test with an RTL-SDR. A DMR control channel was successfully decoded, and it read the calls; ADS-B showed aircraft; LTE PCI values were detected with the LTE decoder; and POCSAG messages came in cleanly.

From our own experience with Claude, Opus 5.5 is very capable of vibe-coding decoders, so there is a high chance that most, if not all, of the decoders implemented in this software will work. 

OnAir Updated to Add Almost Every Decoder Possible
OnAir Updated to Add Almost Every Decoder Possible

AI Disclaimer: This software was coded with Claude AI.

OnAir: A Digital TV and DAB Decoder for SDRs

Thank you to Kristijonas for writing in and sharing with us his project, OnAir. OnAir is an easy-to-use digital TV decoder for DVB-T2, DVB-T, ATSC 1.0, ATSC 3.0, ISDB-T, and a digital audio decoder for DAB / DAB+ and FM Radio. It also supports Analog TV modes such as PAL, SECAM, and NTSC, and data modes like ADS-B, GNSS (GPS, GLONASS, BeiDou), and DMR.

It supports various wideband SDRs, including HackRF, PlutoSDR, BladeRF, LimeSDR, USRP, Airspy R2, and SDRplay. RTL-SDRs unfortunately do not have enough bandwidth to decode digital TV channels in SDR mode, but the software still supports RTL-SDRs for narrowband signals.

The software is easy to install, with an installer .exe being available for Windows, a .deb file for Debian Linux, and a .dmg file for macOS. 

OnAir Screenshot
OnAir Screenshot

AI Disclaimer: This software lists Claude as a contributor.

Using a Fruit Fly Brain to Tune an RTL-SDR FM Radio

You may have seen in the news that researchers have recently mapped the brain and nervous system of a fruit fly and digitally simulated it in what they call a 'connectome'. Without additional training, the connectome exhibited fruit fly-like behavior when connected to a virtual body, suggesting that the fruit fly's behavior is encoded in its brain structure.

The fly brain neural network can also be hacked into performing other tasks. Various researchers have already repurposed it for tasks like controlling robots, driving a simulated car, playing virtual games like Beat Saber and Doom, trading crypto, and more. One novel fly brain application related to RTL-SDRs was submitted to us by Nik K (SV1EEX). Nik used the fruit fly connectome to tune an RTL-SDR-based FM radio. Nik writes:

Can the reconstructed nervous system of a fruit fly navigate the FM broadcast band and find a radio station?

I built an open-source experiment to test that question using an RTL-SDR Blog V4 and the published adult male Drosophila melanogaster CNS connectome: 165,122 traced neurons connected by more than 10 million signed neural edges.

The RTL-SDR V4 scans the real 87.5–108 MHz broadcast band and creates a panoramic RF environment. Instead of giving the software a list of stations, I convert that measured spectrum into an egocentric visual scene and present it through the 892 retinotopic optic columns used by the connectome simulation. Activity produced by anatomically identified DNa02 descending neurons moves a virtual receiver left or right along the dial.

The experiment also gives the simulated biomimetic fly a substituted RF “mechanosensory” channel. Spectral shape is mapped to bilateral Johnston’s-organ input, while the 19 kHz stereo pilot and 57 kHz RDS subcarrier stimulate JO-A and JO-B populations. This helps distinguish stations that appear similar in power and occupied bandwidth. These mappings are engineered sensory substitutions; they are not a claim that biological flies can detect radio waves.

In one preliminary run on a panorama recorded with the RTL-SDR Blog V4, the connectome-driven controller started at 97.750 MHz. Without receiving the target frequency directly, it entered the predefined ±100 kHz acquisition region around the hidden 95.200 MHz target after 33 actions and stopped at 95.126973 MHz.

The result is deliberately reported as a single preliminary observation. The repository separates external acquisition from neural DNp09 lock events and includes random, visual-only and direct-peak controllers for controlled comparisons.

I describe the resulting system as a connectome-driven virtual embodied agent operating in an RF-derived sensory environment—effectively, a digital fruit-fly nervous system whose world is the FM spectrum and whose movement consists of tuning a radio.

The complete source code, Windows setup, RTL-SDR V4 compatibility fixes, connectome setup procedure, technical manual, experimental protocol, limitations and acquisition dashboard are available here:

https://github.com/z1000biker/DrosophilarRFsensory

The project builds on the open-source flycoinrh implementation and the published adult male Drosophila CNS connectome.

Fly Brain FM Dial
Fly Brain FM Dial

TunerScope: A Browser App to Help Optimize HDTV Antenna Positioning with an RTL-SDR

Thank you to Luke Berndt for writing in and sharing with us a new RTL-SDR browser-based app he's created called TunerScope. TunerScope is a spectrum analyzer program that focuses on helping users in areas with ATSC digital TV achieve perfect HDTV antenna positioning.

The app runs entirely in a Chrome browser, so you can just connect your RTL-SDR to your device, browse to https://tunerscope.com, and start using the app instantly. 

TunerScope has a few interesting features, including the use of spectrum stitching to visualize the full 6 MHz + wide ATSC signals as the RTL-SDR only provides 2.56 MSPS max, multipath detection via in-channel flatness, a snapshot reference trace to see how well your antenna movements are helping, an SNR reading, location-aware channel labeling and a tower map, and a channel list view.

We note that from what we can gather, this app appears to be designed for the US only and may only support ATSC signals and FCC lookups for the location aware features.

AI-Disclaimer: From a comment on the YouTube video it appears TunerScope was developed with Claude. 

I got better HDTV using an SDR

Airspy WebSpy: A High Performance Web UI Client for Airspy SDRs

Over on X @lambdaprog, (aka Youssef Touil), the developer of SDR#, has been teasing development of a new web client called "WebSpy" for Airspy software-defined radios. The web client allows users to tune in to a remote Airspy SDR via a web browser interface that mimics the SDR# Windows software. Before WebSpy, it has only been possible to access Airspy devices remotely via the SpyServer server software and the SDR# Windows application.

While the software is still in development and not yet available for download, you can access a demo version (HF server) (Broadcast FM server) that Youssef has currently set up on his own server in France. From the X posts on the development of the software, it seems that WebSpy boasts some impressive efficiency in terms of the low 6 kB/s network bandwidth required. This means that even over slow connections, the FFT and audio should be smooth and clear. The web interface also works well on mobile, providing a touch-optimized interface.

Youssef wrote in and wanted to share some additional information about how SharpIQ and SharpFFT work:

Under the hood, WebSpy streams both the radio signal and the spectrum display using two purpose-built compression codecs: SharpIQ for the channel data and SharpFFT for the FFT display.

A key design choice is what gets streamed: unlike most web receivers, which demodulate on the server and send you compressed audio, WebSpy sends the raw IQ signal of the tuned channel and does all the demodulation right in your browser — the same DSP chain as the gold standard SDR#. This matters more than it might sound: with server-side audio you're listening to a lossy rendition of what the server decided to demodulate, with voice-codec artifacts baked in; with local IQ, the actual signal arrives at your machine, so demodulation, filtering and mode changes happen instantly and the audio quality is limited only by the signal itself, not by an audio codec.

Unlike general-purpose compressors, SharpIQ and SharpFFT were designed from the ground up for radio: they adapt in real time to what's actually happening on the band, spending bits only where there is information worth keeping, while preserving the weak-signal fidelity that SDR users care about — a CW signal buried near the noise floor comes through intact.

The result is that a complete listening session — channel IQ, live spectrum, waterfall and all — typically fits in about 5 kB/s, a fraction of what conventional audio streaming would need. That's low enough to comfortably operate a remote receiver over a modest mobile connection, which is precisely what makes a full SDR experience in a browser tab practical — nothing to install, nothing left behind, just a tab you can close; and at 5 kB/s the stream itself hides in the noise of ordinary web traffic. Discreet SIGINT, if you're so inclined.

WebSpy: Airspy Web UI Desktop Interface
WebSpy: Airspy Web UI Desktop Interface

 

Adding HD Radio Support to FM DX Webservers with an RTL-SDR

Thank you to Ivan (NO2CW) for submitting news about how he added HD Radio decoding capability to his FM DX Webserver receiver. The FM DX Webserver is a community of worldwide FM broadcast-band online receivers that mostly use SDRs based on the TEF6686 chip, with a few also using RTL-SDR receivers. HD Radio (aka nrsc5) is a proprietary digital audio standard used by FM broadcasters in North America. It's often observed by SDR users in a waterfall as the two rectangles flanking both sides of a broadcast FM signal. Ivan writes:

A major challenge has been that up until now none of the online receivers were HD Radio capable. I have now added this capability with the help of an RTL V3. The online receiver uses a combination of two receivers: a TEF6686 which is known to be highly sensitive and, when an FM HD Radio signal is present, an RTL V3 automatically kicks in to provide HD radio capability opening up HD1, HD etc audio streams together with bundled album art, traffic and weather. The program was initially conceived by discord user seehed and then further developed by me.

The core code for this plugin was developed by GitHub user seehed and can be found here: https://github.com/Seehed/NRSC5_HDRadio. I had to make a few tweaks to get it fully working.

How the Setup Works: The hardware setup requires both a TEF6686 receiver and an RTL dongle operating simultaneously.

I tested an RTL-SDR V4 first, but the necessary DLLs worked much better with an RTL-SDR V3 in my current build.

By default, the server uses the TEF6686 for browsing the FM band for analog signals. When a user tunes to a frequency where an HD Radio signal is present, the logic switches to "HD Mode" and the RTL V3 takes over. The NRSC5 library is used to process the digital signal. In this mode, users will notice the change in audio quality and the available subcarrier streams (HD1, HD2, HD3, etc.) become visible and selectable.

How Users Can Set It Up: To replicate this, a user would need:

  • A working FM DX Webserver with a TEF6686.
  • An RTL-SDR V3 plugged into the same host.
  • The NRSC5 library installed.
  • The plugin from the GitHub link above installed and configured in the webserver directory.

Ivan also notes that currently his Miami NO2CW receiver is the only one on the network supporting HD Radio.

HD Radio on FM DX Webserver. Receiving HD Radio inside the fm dx webserver application.

HD Radio Added to FM DX Webservers via an RTL-SDR
HD Radio Added to FM DX Webservers via an RTL-SDR