SatHunterSDR: An Open-Source Android App for Hunting CubeSats with an RTL-SDR

Thank you to Zoltán Dóczi (HA7DCD) from Z2Labs for writing in and sharing 'SatHunterSDR', a new satellite-hunting SDR receiver app for Android. You pick a satellite, the app tunes to it and follows its Doppler shift, and a sky radar turns with your phone to help point the antenna. Nearby satellites are also labeled on the waterfall at their Doppler-shifted frequencies.

The app works with RTL-SDRs (tested with our RTL-SDR Blog V3) and ESP32-S3 ESP-SDR devices over USB OTG, and includes CW, APRS, 9600 bd G3RUH telemetry and SSTV decoders. It's aimed at classrooms, so it can run with a simulated pass and no hardware, and students can write their own decoder plugins.

The code is open-source under GPLv3, with APKs available on GitHub. The plan is to create a STEM kit with the Spacewalker LNA 434 MHz, which has a Crowd Supply campaign coming soon.

SatHunter Android App
SatHunter Android App
SatHunter and Spacewalker in action

ESP-WiFi-Jam-Detector: A Standalone 2.4 and 5 GHz Interference Detector Built on an ESP32-C5 Touchscreen Board

Back in October, we posted that several projects found that ESP32 microcontrollers can capture raw I/Q samples and therefore be used as an SDR. Now Jordan has written in to share his 'ESP-WiFi-Jam-Detector', a standalone, receive-only interference detector built on the ESPARGOS esp-sdr code and a Waveshare ESP32-C5-Touch-LCD-3.5 touchscreen board.

Using the ESP32-C5's own Wi-Fi receiver, the device sweeps 2400 - 2483.5 MHz and 5150 - 5895 MHz at 80 MS/s, with no PC needed. It learns a 60-second baseline of the normal RF background, then raises an alarm on a raised wideband noise floor, persistent narrowband carriers, or swept signals, while flagging pulsed wideband energy as suspect. The touchscreen shows a live spectrum and waterfall, and with an SD card inserted, it logs every state change and saves a waterfall image centered on each alarm, so you can see what happened while you were away.

The firmware is open-source under GPL-3.0, and a prebuilt binary is available on the GitHub releases page. The README notes that the device can only show that the RF environment has changed, not prove intent, and that a running microwave oven will look like interference on 2.4 GHz.

Screenshots from ESP-WiFi-Jam-Detector running on a Waveshare ESP32-C5-Touch-LCD-3.5
Screenshots from ESP-WiFi-Jam-Detector running on a Waveshare ESP32-C5-Touch-LCD-3.5

AI Disclaimer: Jordan notes that the firmware was written entirely by Claude Code, with Jordan directing it and testing on the hardware.

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

ErgissVAG F16: An F-16 Cockpit-Style Android Car Dashboard with RTL-SDR ADS-B and Airband Receivers

Thank you to Gabriel Diaconu from Iasi, Romania, for writing in and sharing ErgissVAG F16, an Android car dashboard app that shows OBD2 data on a head-up display styled like an F-16 cockpit. Its latest release adds two RTL-SDR pages for car head units and phones, which allow it to receive the AM airband and ADS-B.

The AM airband receiver covers 118-137 MHz with 25 and 8.33 kHz channel spacing and includes active/standby frequencies, scanning with squelch, and a live spectrum. The ADS-B page uses a 1090 MHz decoder written from scratch and shows aircraft on a radar-like display. Gabriel saw several airliners near Iasi sending altitude and speed but no position, consistent with the GNSS interference reported in Gabriel's region, and the app flags these as "GNSS-x" (we've previously posted about mapping GNSS interference through ADS-B data).

Rather than relying on a separate driver app, ErgissVAG F16 talks to the dongle directly through Android's USB Host API using a port of librtlsdr, with no root needed, and rtl_tcp is supported as an option. Gabriel tested it with an RTL-SDR Blog V3 on a powered USB hub, as it drops out on bare OTG. The app is available on Google Play with a free 7-day trial, then a one-time €9.99 Pro unlock.

ErgissVAG F16 Airband Tuner & ADS-B TCAS-Style Traffic Display
ErgissVAG F16 Airband Tuner & ADS-B TCAS-Style Traffic Display

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

ESPica32: A Standalone ESP32 Radio for Tuning Any KiwiSDR with No PC or Phone

Thank you to Ivan (LU8MIL) from the ‘Radio Bunker’ YouTube channel for writing in and sharing ESPica32, a standalone ESP32-based radio that tunes into any public KiwiSDR in the world with no PC or phone needed. The name is a tribute to the Spica, a pocket transistor radio that was hugely popular in Argentina.

The build uses just four parts: an ESP32-WROOM-32, an SH1106 OLED display, a rotary encoder, and a MAX98357A I2S amplifier with a small speaker. A single encoder controls frequency, volume and mode (LSB, USB, AM, CW and FM). A web page served by the ESP32 handles Wi-Fi setup, KiwiSDR server selection and full remote control, and also includes a diagnostic for tracking down audio dropouts.

Ivan notes that distant KiwiSDRs initially cut out because the ESP32 couldn’t keep up with uncompressed audio. Switching to the KiwiSDR’s ADPCM compression fixed this, and a Kiwi in Argentina now plays cleanly from Germany at about 260 ms ping. The Arduino IDE sketch and wiring diagram are available on Ivan’s Todo-SDR blog, and the Spanish-language video below shows the build and a demo (English subtitles are available).

🎯 EL PROYECTO DIY QUE TODO RADIOESCUCHA DEBERÍA CONOCER: ESPica32