Category: Applications

Ground Station: An Open Source SDR Orchestration Platform for Satellite Tracking and Decoding

Over on GitHub, we've seen the release of a new program simply called "Ground Station", described as a full-featured, open-source software solution for satellite tracking and radio communication.

The software presents as a web-based UI that allows users to manage satellite passes, view SDR waterfall data, decode basic signals such as GMSK telemetry, view telemetry packets, synchronize TLEs, manage multiple SDR devices, browse downloaded weather imagery, monitor DSP performance, and interface with antenna rotators.

Unlike tools such as SatDump, which focus primarily on signal processing and decoding, Ground Station acts as a higher-level orchestration platform. It automates the full workflow, handling pass prediction, SDR control, recording, and decoding, and integrates with SatDump for more complex protocols like weather satellite image decoding.

While SatDump does include some tracking and automation features, Ground Station takes this further with support for multiple SDRs, coordination across multiple stations, and a centralized management interface. It also includes an interesting AI-based speech-to-text feature for transcribing amateur satellite voice communications.

This could be a great tool to use alongside our Discovery Dish and Discovery Drive antenna rotator!

Ground Station: The Overview Page
Ground Station: The Overview Page

Automatic Signal Recognition with AI Machine Learning and RTL-SDR

Thank you to Trevor Unland for submitting his AI machine learning project called "RTL-ML" which automatically recognizes and classifies eight different signal types on low-power ARM processors running an RTL-SDR.

Trevor's blog post explains the machine learning architecture in detail, the accuracy he obtained, and how to try it yourself. If you try it for yourself, you can either run the pre-trained model or train your own model if you have sufficient training data.

The code is entirely open source on GitHub, and the training set data has been shared on HuggingFace

RTL-ML is an open-source Python toolkit for automatic radio signal classification using machine learning. It runs on ARM single-board computers like the Raspberry Pi 5 or Indiedroid Nova paired with an RTL-SDR Blog V4, achieving 87.5% accuracy across 8 real-world signal types including ADS-B aircraft transponders, NOAA weather satellites, ISM sensors, FM broadcast, NOAA weather radio, pagers, and APRS.

The project provides a complete pipeline from signal capture to trained classifier. Unlike academic approaches that rely on synthetic data or expensive GPU hardware, RTL-ML uses real signals captured from actual antennas and runs entirely on edge hardware with no cloud dependency. The Random Forest model is 186KB and processes signals in around 120ms on a Pi 5.

The GitHub repository includes the full capture and training scripts, a pre-trained model, 8 validated spectrograms, and documentation for adding new signal types. It works out of the box on both Raspberry Pi 5 and Indiedroid Nova with identical code and accuracy.

RTL-ML Setup: RTL-SDR Blog V4, Dipole Antenna and Indiedroid Nova ARM Computer.
RTL-ML Setup: RTL-SDR Blog V4, Dipole Antenna and Indiedroid Nova ARM Computer.

You might also be interested in some similar projects we've posted about in the past, such as this Shazam-style signal classifier, which used audio data from sigidwiki.com, and an Android app doing the same thing (which unfortunately now appears to have been removed from Google Play). There is also this deep learning based signal classifier model.

PimpMyGRC: A GUI Makeover for GNURadio Companion

Thank you to Ryan for writing in and sharing his project "PimpMyGRC" with us, which he jokingly refers to as "Solving the Problem Nobody Had With GNU Radio".

If you were unaware, GNURadio is a powerful tool for implementing digital signal processing pipelines for software-defined radios. The 'companion' tool lets you build these pipelines using a block-diagram flowgraph structure. However, as Ryan notes, the interface is very utilitarian, and staring at it for hours on end can be tiring. Ryan writes:

GNU Radio Companion is powerful but visually… utilitarian. PimpMyGRC gives your flowgraphs an entirely unnecessary makeover with cyber-style backgrounds and aesthetic tweaks. It does absolutely nothing for your signal processing, but it makes your blocks look fantastic while doing it.

I started out wanting the simplest thing imaginable in GNU Radio: a plain black background so my eyes could survive late-night debugging, and somehow that tiny request snowballed into a full-blown Geocities monstrosity with loud gradients, chaotic accents, and enough visual noise to make every flowgraph feel like a 1999 fan page. It is the definition of a first-world problem: I have powerful SDR tools, real technical work to do, and my biggest daily obstacle is that my interface now looks like it lost a fight with a glitter GIF archive, all because I tried to make one harmless cosmetic tweak.

What it does:

Replaces GRC's stock look with fully themed colors, block rendering, connections, and ports. Includes a GTK4 theme switcher with a live animated preview so you can see exactly what you're getting into before you commit.

PimpMyGRC: Themes for GNURadio Companion
PimpMyGRC: Themes for GNURadio Companion

WARNING: A user has reported that installing PimpMyGRC has destroyed his GNU Radio installation. Please do your own due diligence and install at your own risk.

JoesScanner: A Modern Frontend for Trunking Recorder to Listen, Browse, and Download Calls

Thank you to Joe for submitting news about the release of his project called "JoesScanner". JoesScanner is an app for Windows, Android, and iOS that provides a modern frontend for Trunking Recorder, for listening to, browsing, and downloading trunked radio calls.

A trunked radio call uses dynamically assigned frequencies from a shared pool, so tracking a conversation requires trunking software (e.g., Unitrunker, SDRTrunk, DSDPlus) and typically two RTL-SDRs, one for the control channel and one for the voice channel.

Trunking Recorder is a Windows application for recording/importing audio from trunked radio systems monitored by Unitrunker, SDRTrunk, ProScan, or DSDPlus. While Trunking Recorder already has a web-based browser front-end viewer, Joe was not happy with it and decided to build his own.

Joe writes:

Joe’s Scanner is a Windows, Android, and iOS app that connects to a Trunking Recorder (TR) backend and provides a modern front end for listening, browsing, and downloading calls.
The idea is to make TR based setups easier for end users, especially on mobile, while staying lightweight and ad free.

Key features:

- Connects to any Trunking Recorder server over HTTP or HTTPS, with or without username/password
- iOS background audio support
- History browsing with downloadable calls
- If the TR installation provides transcriptions, the app can enable address detection and what3words detection
- Free to use with no ads, and no data harvesting or resale

Background:

I built it because I run my own TR servers and was not happy with the existing client options, so I created what I wanted for my customers.

I am also making it available for anyone to use with their own TR servers for free.

Server owners can optionally apply to have their server listed in the in app directory to simplify setup for their users:
https://joesscanner.com/support/joes-scanner/joes-scanner-server-addition/

Microsoft Store: https://apps.microsoft.com/detail/9n5hbztcnt4t?hl=en-US&gl=US

Google Play: https://play.google.com/store/apps/details?id=app.joesscanner.com

Apple App Store: https://apps.apple.com/us/app/joes-scanner/id6758413482

Joe notes that the code is all open source and is available on GitHub.

JoesScanner - Mobile Interface
JoesScanner - Mobile Interface

CoronaSDR for iOS – A Free Native RTL_TCP Client

Thank you to Silviu YO6SAY for writing in and sharing with us news about the release of his iOS App called "CoronaSDR" which is a native client for receiving from rtl_tcp servers. rtl_tcp is a server program for RTL-SDRs that streams raw IQ data over a network connection.

Unlike Android, iOS does not allow third-party USB devices like the RTL-SDR to run on its devices. But you can set up an rtl_tcp server on a networked PC or Raspberry Pi in your home, and connect to the data stream with an iOS app like CoronaSDR.

Silviu writes:

CoronaSDR is a free, native iOS app that connects to an rtl_tcp server on your local network (no cloud, no subscription).

Current features
• Live spectrum + waterfall (Metal / GPU-accelerated)
• Demod modes: AM / NFM / WFM / USB / LSB / CW
• RF controls: gain, PPM, direct sampling, offset tuning, bias-tee
• Stations with tags + CSV/TSV import/export
• List/range scanning with squelch hold/skip
• Background audio + lock screen controls

Known limitations (early build)
• Built solo so far — no external testers yet
• Most real-world testing to date has been NFM and WFM
• Other modes are implemented, but I’d consider them early until more field feedback comes in

Tested with an RTL-SDR Blog V4 (R828D) on a Raspberry Pi running rtl_tcp.

I’d really appreciate detailed feedback (device + iOS version, tuner type, rtl_tcp command, mode/frequency, and steps to reproduce any issues).
 
CoronaSDR - RTL_TCP Client for iOS Devices.
CoronaSDR - RTL_TCP Client for iOS Devices.

Exploring the Privacy Risks of Tire Pressure Monitoring Systems with RTL-SDR

Tire Pressure Monitoring System (TPMS) privacy concerns are a topic that comes up every now and then. Most modern vehicles have wireless tire pressure sensors that communicate with the vehicle's computer to alert the driver when tire pressure falls below a safety threshold.

The privacy issue is that these TPMS sensors each transmit a unique identifier, so the computer can know which tire is being measured, and not read other vehicles' sensors by mistake. As TPMS is not encrypted in any way, anyone with an RTL-SDR or other similar radio can receive and decode TPMS messages, including the unique identifier. This raises privacy concerns as this can be used to log the presence and movement of individual vehicles. 

A recent academic paper by university researchers showed how researchers deployed simple RTL-SDR + Raspberry Pi-based receivers along a road over a period of 10 weeks. They showed that TPMS transmissions can not only be used to identify, track, and detect the presence and daily routines of individual vehicles, but also to determine the type and weight of the vehicle via pressure readings.  Interestingly, they also note that variations in the weight of an identified vehicle could indicate, for example, whether a truck is loaded or unloaded, or whether there are additional passengers in a car.

The researchers highlight privacy concerns, noting that such data could be collected and sold by data mining companies without the driver's knowledge. 

RTL-SDR + Raspberry Pi for TPMS Monitoring
RTL-SDR + Raspberry Pi for TPMS Monitoring
The TPMS Monitoring Setup
The TPMS Monitoring Setup

Frugal Radio: Beginners Guide to P25 Decoding with the Latest DSD Plus Release

Over on his YouTube channel 'Frugal Radio', Rob has uploaded a comprehensive video detailing how to set up the latest DSD Plus release for P25 Public Safety decoding.

Back in December 2025, we posted about how the DSD Plus team released version 2.547. The release had already been available to DSD Fastlane customers, but it is now available to the public. The new version brings various improvements and features, but it also changes the software signal flow that was used in previous versions.

In the video, Rob explains how to set up the new DSD Plus version, including how to use the new FMP24 demodulator with an RTL-SDR. He then goes on to show the various features, like control channel monitoring mode, getting P25 system data, holding and IDing talkgroups, and setting talkgroup aliases.

HUGE free DSDPlus Update 2026 : Decode P25 Public Safety with your SDR and this beginner guide!

Echo iOS KiwiSDR & OpenWebRX App now in Beta Testing

Back in January, we first posted about "Echo", an upcoming iOS app designed for browsing global web-based KiwiSDR and OpenWebRX software-defined radios.

Mark now notes that Echo is now in beta, and has been released to testers via TestFlight. He notes that new users can access the beta by making a small donation on his Ko-fi page. Mark writes:

Users have already reported being able to listen to some euro ham chat on their bike ride today. Where they’d usually have to put their entire iPhone in that locked guided access mode to block touch inputs on Safari, Echo allows multitasking & lock screen playback. For every SDR, any frequency. Someone else throwing the phone in their pocket & taking their walk with AirPods in their ear listening to CW. This was truly the most requested feature by far.

I’ve made several improvements since we last talked, even added support for not just Kiwi & OpenWebRX but also WebSDR & FM-DX. All built in. Over 2000+ global tuners at people’s fingertips. 11,000+ frequencies in a categorized database.

If you were unaware, OpenWebRX is a piece of server software that allows you to access and share SDRs over a network connection, such as the internet, via a web browser interface. OpenWebRX is a core component of the KiwiSDR, an SDR designed to operate as a shared receiver over a network connection. Around the world, many people have set up public KiwiSDR, RTL-SDR, and other SDR systems accessible via OpenWebRX. Echo is designed to make it easy to search for and view public OpenWebRX receivers on iOS devices.

EchoSDR Beta Screenshots
Echo iOS Beta Screenshots