Category: Digital Signals

SDR-Receiver: A Native macOS SDR App with 25+ Decoders, Now Including Loran-C / eLoran

Thank you to Marcus Roskosch (DL8MRE), the developer of 'SDR-Receiver', for writing in about its latest updates. SDR-Receiver is a native macOS app with 25+ decoders for USB SDRs such as the RTL-SDR, HackRF, Airspy and PlutoSDR. The app supports ADS-B, AIS, ACARS, APRS, POCSAG, RDS, CW, speech transcription, HFFAX, SSTV, WSPR, FT8, FT4, FT2, ALE, RTTY, NAVTEX/SITOR-B, DSC, Selcall, EFR and time signals.

Version 1.15 adds a Loran-C / eLoran decoder for the 100 kHz long-wave navigation chains, including Russia's Chayka chains. It automatically finds the chain, shows your position on a map, and decodes eLoran data. Marcus tested it with an Airspy HF+ and a long-wave antenna, and the manual notes that an RTL-SDR in direct sampling mode also works.

Version 1.15 also brings Icom RC-28, FlexControl and MIDI controller support, and version 1.16 adds a TETRA decoder. SDR-Receiver costs US$49.99 on the Mac App Store and requires macOS 26 or later. A Demo Receiver lets you try it without hardware.

SDR-Receiver Loran-C, DAB and VDL2 Decoder Windows
SDR-Receiver Loran-C, DAB and VDL2 Decoder Windows

Decoding TETRA Voice on a Retevis C62 Handheld with Custom OpenRTX Firmware

Thank you to Wojciech Kaczmarski (SP5WWP) for sharing his recent blog post showing that a low-cost analog VHF/UHF US$50 Retevis C62 handheld radio can decode TETRA voice with some custom firmware. We note that the Retevis C62 uses the same BK4819 RF chip as the popular Quansheng UV-K5. 

Wojciech explains that because TETRA's pi/4-DQPSK encoding is differential, it can be treated as 4-level FSK after a plain FM demodulator, and a single register setting widens the BK4819 to 25 kHz channels. The TETRA stack and vocoder are then flashed onto the radio's CSK6011B microcontroller. This meant replacing osmo-tetra and ETSI's reference vocoder with Wojciech's libtetra and OpenACELP libraries, written for 32-bit MCUs.

The firmware is a fork of OpenRTX built on turnrye's C62 M17 port, and needs no hardware modifications. It is receive-only and plays only unencrypted speech. The demo below uses a sample from the HamTETRA group.

AI Disclaimer: On GitHub, many commits in the OpenRTX C62 port that this firmware builds on list Claude, and some list Codex, as co-authors. We found no AI disclosure in Wojciech's own TETRA code or libraries.

Clever Quest Lab: Free Browser-Based Decoders for RTTY, Weather Fax, SSTV, NAVTEX, APRS and More

Thank you to Simpli for writing in and sharing a set of free radio decoders that run entirely in the browser. There are pages for Morse, RTTY, PSK31, SSTV, weather fax, NAVTEX, APRS and the DCF77/MSF time signals, plus a signal identifier that tries to name an unknown mode and links to the matching decoder.

Audio can come from your SDR program via a virtual audio cable, a microphone, a WAV or MP3 recording, or a WebSDR playing in another browser tab (this needs a desktop browser with screen sharing), so no hardware is needed to try them. Simpli tested them on DWD RTTY on 4583 kHz and DWD weather fax on 3855 kHz via the Twente WebSDR, as well as on live PSK31 and an ISS SSTV recording in PD120 mode.

Simpli writes:

A detail you might find interesting: the WebSDR player inserts 128 zero samples about once a second, and its playback speed wanders by up to half a percent. That's enough to tear a fax picture apart. The fax decoder cuts those gaps out and tracks the speed from the white tone, so the chart comes out straight. The RTTY page also switches to reversed polarity by itself when it sees too many framing errors.

All decoding happens locally with nothing uploaded, and the tools are free with no sign-up. This is similar in spirit to OFFgrid-SDR, which we just posted about, as both run in the browser and can automatically identify a mode. However, OFFgrid-SDR connects directly to an RTL-SDR via WebUSB and is open source under the GPLv3, while Clever Quest Lab's decoders work on audio from any receiver and do not appear to be open source.

Clever Quest Web Browser Weather Fax Decoder
Clever Quest Web Browser Weather Fax Decoder

OFFgrid-SDR Updated to V2.1: Adds DAB, DAB+ and DRM xHE-AAC Decoding in the Browser

Back in October, we posted about OFFgrid-SDR, a fully offline RTL-SDR receiver program that runs in a WebUSB-compatible browser from a single index.html file. Richard Didd has now written in again to let us know that the project has passed 10,000 downloads and views, and that version 2.1 adds DAB, DAB+ and DRM digital radio support.

The DAB decoder is written in JavaScript directly from the standard, while DAB+ (HE-AAC) and original DAB (MP2) audio are decoded by FAAD2 and pl_mpeg compiled to WebAssembly. DRM also now supports xHE-AAC audio via Android's libxaac decoder. Richard tested DAB off-air on the BBC National DAB multiplex, but can't receive any xHE-AAC DRM stations from the UK, so reception reports from anyone in range would be welcome.

Richard also points out the AUTO mode, which listens to a signal for a couple of seconds, identifies it, and switches to the right mode or decoder. It recognizes CW, RTTY, PSK, NAVTEX, weather fax, SSTV, FT8/FT4/WSPR, ACARS, APRS, AIS, DRM and DAB, among others. OFFgrid-SDR is open source under the GPLv3 licence and available on GitHub, with more technical details in the Hackaday.io project log.

OFFgrid-SDR Receiving the BBC National DAB Multiplex
OFFgrid-SDR Receiving the BBC National DAB Multiplex

VMA Radio Lab: DecSAT Extended into a Multi-SDR Receiver with DVB-T/T2, DAB+ and Analog PAL TV

Last week we posted about DecSAT, an open-source program by CasualArclamp that turns a HackRF One into a DVB-S/S2/S2X satellite receiver and analyzer. Now Vitor Martins Augusto has written to share his fork, 'VMA Radio Lab' (initially called DecSAT-VMA), which extends DecSAT into a general-purpose broadcast receiver and measurement tool.

The biggest difference between DecSAT and VMA Radio Lab is multi-SDR operation. VMA Radio Lab can run several SDRs at once, each with its own VFOs, including the HackRF, PlutoSDR, USRP B210, RTL-SDR, SDRplay RSP1 and Airspy. One SDR can be dedicated to a sweeping wideband overview, such as the full 950 - 2150 MHz satellite IF. It also pulls in DVB-T/T2, DAB/DAB+ and TETRA decoding from CasualArclamp's sibling projects DecDVB-T, DecDAB and DecLAB, and adds analog radio, PAL color TV with teletext, measurement tools such as a vectorscope and transport stream analyzer, and control of CrazyScan-compatible TBS tuner cards for LNB power and hardware DVB reception.

Meanwhile, the original DecSAT remains satellite-focused. Since our last post it has added support for Fobos SDR, Airspy and network IQ input (including rtl_tcp), and has merged some of VMA's early RTL-SDR, PlutoSDR, B210 and analog TV code.

VMA Radio Lab is GPLv3 and available as a Windows 64-bit build and source zip on the website. We note that TETRA audio needs a separate ACELP codec DLL that isn't included for legal licensing reasons, and the bundled development notes describe several of the newer decoders, such as AIS and ACARS, as experimental. 

Decscat-VMA Screenshot
Decscat-VMA Screenshot

AI Disclaimer: The original DecSAT lists Claude as a contributor. While VMA does not disclose it, the development notes included with the VMA Radio Lab source suggest that its extensions were also written with the help of AI.

Frugal Radio: Testing the Discovery Dish on Inmarsat AERO with JAERO and InmarScope

Over on YouTube, Rob from the 'Frugal Radio' channel has uploaded part one of a review of our Discovery Dish, which we sent over for testing. Rob used the Inmarsat L-band feed with an RTL-SDR Blog V4, SDR++ and JAERO to receive AERO signals from the 98W satellite, which sits at about 27 degrees elevation from Rob's location in central Alberta.

Rob notes that the 10500 bps channels, which carry most aviation traffic and are usually the hardest to decode, held a steady Eb/No (a signal-to-noise measure for digital signals) of 14-16 over several days of testing. For comparison, Rob's previous best of 10 came from a grid dish designed for 1.7 GHz GOES reception, while our RTL-SDR Blog L-band patch antenna peaked at 8. Rob also shows the dish assembly, which took about 30 minutes.

Later in the video, Rob briefly tries out InmarScope, the multichannel Inmarsat decoder from Sarah Rose that we posted about previously. It decoded every 600, 1200 and 10500 bps AERO channel at once and automatically followed a voice call when one was assigned. Part two will cover maritime EGC, GOES reception, or more InmarScope, depending on viewer feedback.

Discovery Dish Review Pt 1 : High Gain Inmarsat AERO reception with SDR++, JAERO & Inmarscope

dec406: Decoding Second-Generation COSPAS-SARSAT 406 MHz Distress Beacons with an RTL-SDR

Thank you to Fabrice Morel (F4MLV) for writing in and sharing his project 'dec406', an open-source Linux decoder for COSPAS-SARSAT 406 MHz distress beacons. These are the EPIRBs carried on ships, ELTs on aircraft, and personal locator beacons (PLBs) carried by hikers. When activated, they transmit a digital message with a unique ID and often a GPS position, which satellites relay to rescue coordination centers.

What makes dec406 interesting is that it decodes the newer second-generation beacons. Unlike the narrowband first-generation signal, these use a ~50 kHz wide DSSS/OQPSK spread-spectrum signal that must be despread and BCH error-corrected before it can be read. Fabrice tested it with an RTL-SDR, and Bernard (F6BVP) at the F4KLO La Villette radio telescope used an Airspy on the MEOSAR satellite downlink near 1544 MHz, decoding system and calibration beacons in the USA, Cyprus, Brazil and Togo.

Fabrice has published real IQ recordings, and running 'make demo-real-sgb' downloads one and checks the decode. The live scanner supports RTL-SDR, Airspy, PlutoSDR, and HackRF, and the code is MIT licensed. More details are in the F4KLO field report. As Fabrice notes, never radiate test transmissions on 406 MHz. Fabrice has also sent us a PDF article of his results, which you can download here.

A Wide SGB Burst Near 406.05 MHz Received with an RTL-SDR in SDRangel (Top), dec406 Decoding a French Second-Generation System Beacon in Self-Test Mode (Bottom)
A Wide SGB Burst Near 406.05 MHz Received with an RTL-SDR in SDRangel (Top), dec406 Decoding a French Second-Generation System Beacon in Self-Test Mode (Bottom)

AI Disclaimer: While Fabrice does not mention it, the dec406 README and .gitignore reference a "Claude assistant memory" CLAUDE.md file, which suggests that Claude was used to help develop the software.

OrcSDR Update: SSTV, ACARS and Offline Maps Come to the Standalone ESP32-P4 RTL-SDR App

Back in September, we posted about OrcSDR, open-source firmware that runs an RTL-SDR directly on the ESP32-P4 microcontroller-based M5Stack Tab5 tablet, with no PC or Raspberry Pi needed. Erik Elfstrom has now written in again to share that OrcSDR v0.5.0-beta.1 (release notes) is out, with several new features and a lot of stability work.

The main additions are SSTV reception and a dedicated ACARS dashboard. SSTV images are drawn directly on the touchscreen and saved to the SD card, and the ACARS dashboard shows live messages and aircraft lists. Erik has tested SSTV with Robot36, PD120, and Scottie S1 on various RTL-SDR models. Offline maps have also been added to the LoRa/Meshtastic, ADS-B, and FT8 dashboards. There is also a new 'Dead Air' dashboard for logging RF and audio activity, and Erik notes that despite the Halloween timing, it is not a ghost detector.

Erik also notes that a lot of work has gone into fixing layout issues, redraw flicker and memory pressure, and there is now a guided first-run setup. The software is still in beta, and Erik says that not every issue is gone yet. The update can be installed with M5Burner or the browser installer, and the code is open source under AGPL-3.0 and available on GitHub.

Some screenshots of new OrcSDR Features
Some screenshots of new OrcSDR Features

AI Disclaimer: The OrcSDR README notes that the project was created with "extensive AI assistance".