RDF-J / ECM-J System: TDoA Signal Location Finding and Electronic Jamming with HackRF

Thank you to Janble for writing in and sharing with us their new software called "RDF-J / ECM-J SYSTEM". These are two distinct programs in a package.

The software is not open source, and it appears that Janble wishes to sell the software to interested parties. Currently, they do not have a website, and they wish to refer interested parties to their X post for more information on pricing and how to obtain the software. As with any closed-source software, we can only recommend that interested parties do their own due diligence on the safety of the software.

RDF-J is a Time Difference of Arrival (TDoA) and signal strength-based radio direction finding program, which utilizes multiple HackRF software-defined radios spread out over an area. Janble writes that the radio direction finding system can operate using either TDoA and signal strength methods independently or together, with a minimum of three nodes being required, and ideally five.

We clarified with Janble that the TDoA system uses a GPS synchronization approach to achieve the required timing accuracy.

The second program, part of the same package, is ECM-J, which is an electronic countermeasure system. It appears to use a HackRF to transmit a jamming signal. Obviously, jamming is illegal in most countries, so this is to be used at your own risk.

Janble has sent us a PDF showing the software in more detail, and they have uploaded a YouTube video, shown below.

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.

Integrive-100: A Standalone MIMO SDR for Real-Time Precision

Thank you to Jayoung from HTWAVE for submitting news about the upcoming crowdfunding campaign for their "Integrive-100" software-defined radio. The Integrive-100 is an AD9361 based SDR with 70 MHz – 6 GHz tuning range, 2x2 MIMO TX/RX channels and up to 56 MHz bandwidth per channel.

They note a defining feature is a pre-built and validated FPGA-based PHY baseline with API access, allowing researchers to skip the basic infrastructure development steps and move straight to developing onboard DSP algorithms on the AMD Zynq-7020 FPGA/ARM CPU.

They write:

SDRs have long served as flexible testbeds for wireless communication research. Their ability to define functions through software makes them ideal for rapid prototyping. However, many SDRs struggle with non-deterministic latency caused by relying on a host PC for real-time signal processing where samples must traverse a communication interface and be handled by a non-real-time OS. This makes it difficult to accurately measure real-time performance, a fundamental requirement for 5G/6G research. This challenge is exactly why we decided to build our own SDR from the ground up.

By leveraging FPGA acceleration, we offloaded real-time signal processing entirely to the board, eliminating host PC dependency. While PC connectivity remains an option for monitoring and logging, the critical signal processing is handled on-board, ensuring that jitter is minimized and allowing you to test your algorithms in the most precise environment possible. Furthermore, by integrating an ARM processor and Embedded Linux, we’ve enabled high-level resource management and seamless compatibility with existing SDR software stacks.

In MIMO environments or scenarios involving high mobility, phase noise and phase synchronization are significant hurdles. Since our goal was industrial-grade deployment, we focused intensely on phase coherence. Unlike low-quality oscillators that degrade RF signal quality, we utilized high-performance components to achieve ultra-low phase noise and synchronized dual oscillators to ensure inter-channel phase consistency.

The best indicator of this stability is our OFDM 256-QAM constellation, which demonstrates the superior phase stability and synchronization our platform can achieve. Furthermore, our real-time video streaming demo, successfully transmitting high-throughput data with zero errors, stands as a testament to the integrity of our synchronization and phase noise control.

Finally, we provide robust API access (C, C++, Python), allowing users to control the system through simple function calls without needing deep FPGA expertise. By supporting standard software frameworks, researchers can easily port their existing projects to our hardware. Our goal is to eliminate the days or weeks spent on infrastructure setup. We want you to achieve productivity from Day 1.

HTWAVE MIMO SDR Video transmission

Left: Integrive-100, Right: OFDM 256-QAM constellation Stability Demo
Left: Integrive-100, Right: OFDM 256-QAM constellation phase stability demo

Discovery Drive Campaign Now Live!

We're extremely pleased to announce that our campaign for our Discovery Drive automatic antenna rotator is now live on Crowd Supply! Pricing is reduced during the campaign period, so check it out soon!

Discovery Drive is an automatic antenna rotator designed for use with our Discovery Dish product, as well as similarly sized antennas such as Wi-Fi grid and Yagi antennas.

A motorized rotator, such as Discovery Drive, enables precise tracking of fast-moving polar orbiting satellites using a satellite dish or directional antenna. Examples of polar orbiting weather satellites include METEOR-M2, METOP, and FENGYUN. Depending on your location, you may also have access to other interesting satellites that dump data over specific regions.

In addition to public weather data, operators and enthusiasts might be interested in using Discovery Drive to track CubeSats, and amateur radio operators may wish to track amateur radio satellites.

Amateur radio astronomy hobbyists can map the galaxy in the hydrogen line spectrum using Stellarium, or custom software to aim a Discovery Dish with H-Line feed, allowing you to scan multiple parts of the sky in one night.

Discovery Drive - A Motorized Antenna Rotator Engineered for Discovery Dish

Testing a $100 “Fishball” Pluto+ PlutoSDR Clone

Over on YouTube, TheGmr140 has uploaded a video reviewing a Pluto+ clone SDR that he picked up for around US$100. He refers to it by its community nickname, the "Fishball", a name that appears to be used for Pluto+ clones sold specifically by HamGeek and OpenSourceSDR Lab, as distinct from other generic Pluto+ boards available on AliExpress.

Setup was straightforward: plug the OTG port into a PC, wait for it to appear as a USB drive, edit the config file to set the Ethernet IP address - no drivers required. Works immediately as a PlutoSDR in GNU Radio or GQRX. He's been running it at up to 13 MSPS and notes TX and RX coverage from 70 MHz to 6 GHz.

What is the "Fishball" and how does it differ? The tezuka firmware project (the main community alternative firmware) lists the Fishball as a distinct target from the generic Pluto+, identifying it as the HamGeek and OpenSourceSDR Lab boards specifically. It comes in Zynq7010 and Zynq7020 variants; the developer F5OEO notes a preference for the Fishball over the LibreSDR on build quality grounds.

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.

ESP32 Bus Pirate: Update Brings Waterfall Displays, Cellular Modem Support and External Radio Expander

Back in September 2025, we posted about the "ESP32 Bus Pirate" firmware, which transforms an ESP32-S3 into a multi-protocol debugging and hacking tool. Although the ESP32 does not have true SDR capabilities, it can leverage its numerous built-in radio hardware components to achieve a range of interesting feats. Recently, "Geo," the creator of the ESP32 Bus Pirate, wrote in to share some recent firmware updates with us. He writes:

The ESP32-Bus-Pirate project is an open-source firmware that transforms inexpensive ESP32-S3 boards into versatile hardware hacking and debugging tools. Inspired by tools like the Bus Pirate and Flipper Zero, the firmware allows a single ESP32 device to interact with a wide range of digital buses, radios, and hardware interfaces.

Because ESP32 boards include integrated WiFi and Bluetooth radios and can interface with many external modules, the firmware makes it possible to experiment with both hardware protocols and RF systems using very low-cost hardware.

The firmware currently supports a wide range of protocols and devices including:

I²C, SPI, UART, CAN, 1-Wire, infrared, smartcards, Sub-GHz radios, RF24 modules, WiFi, Bluetooth and cellular modems.

Major New Features in v1.5

The latest release adds several major capabilities useful for hardware analysis and RF experimentation.

Waterfall Spectrum Displays

Multiple RF modules can now display real-time waterfall visualizations, showing signal peaks and activity across frequencies. This is available for:

• Sub-GHz radios
• RF24 modules
• FM radio modules
• WiFi channel activity

This makes it easier to visually monitor RF environments directly from the device.

Sub-GHz Improvements

The Sub-GHz subsystem has been completely reworked for improved reliability when recording, replaying and receiving RF frames. Raw payload transmission is also supported.

Cellular Modem Support

ESP32-Bus-Pirate can now interact with cellular modem modules, allowing users to inspect modem and network information and perform operations such as:

• Dumping SIM card data
• sending SMS
• dialing calls

External Radio Expander

The firmware now supports an **external UART radio expansion module** called the **ESP32 Bus Expander**, which allows adding additional RF hardware modules to the system, notably for the WiFi 5GHz.

Links

Project:
https://github.com/geo-tp/ESP32-Bus-Pirate

Web Flasher:
https://geo-tp.github.io/ESP32-Bus-Pirate/webflasher/

Documentation:
https://github.com/geo-tp/ESP32-Bus-Pirate/wiki

Scripts collection:
https://github.com/geo-tp/ESP32-Bus-Pirate-Scripts

ESP32 Bus Expander:
https://github.com/geo-tp/ESP32-Bus-Expander

ESP32 Bus Pirate. Left - Running on COTS ESP32-S3 based devices. Right - ESP32 Bus Pirate Interface
ESP32 Bus Pirate. Left - Running on COTS ESP32-S3 based devices. Right - ESP32 Bus Pirate Web Interface