Tagged: rtl2832

GNU Radio World: Browser-Based GNU Radio Flowgraphs

Thank you to Marc Lictman, vice president of GNU Radio, for writing in and sharing with us his new project called "GNU Radio World," which is essentially GNU Radio Companion in a web browser, written in WebAssembly.

If you're not familiar with it, GNU Radio is a very popular free and open-source toolkit for implementing digital signal processing algorithms and applications. It lets you experiment with and build radio receivers, transmitters, and DSP chains through a graphical block-based flowgraph.

Marc Lictman writes:

I thought your readers might be interested in the relatively new website that I put together, https://gnuradioworld.com, as it is starting to have some nice RTL-SDR support, e.g. there is a basic spectrum analyzer and a full ADS-B application with map, but the best part is that it's really just GNU Radio in the browser so you can assemble your own flowgraphs and play around without installing anything, either with live USB SDRs, signal recordings, or simulated signals. It runs entirely client-side and comes with several out-of-free modules (OOTs), including gr-adsb by Matt Hostetter.

The other nice part about GNU Radio World is it comes with dozens of example flowgraphs (see tab on the left) as well as a bunch of example IQ recordings that can be used in place of the typical File Source block, and when you run the flowgraph it streams the IQ to your browser, a lot of the IQ recordings are used in the example flowgraphs to show off various OOTs functionality.

The whole project is free and open source (GPLv3), I think that it will be especially valuable for those learning RF signal processing, and those without a Linux background who want to jump straight into learning GNU Radio. Here are some specific example flowgraphs that may be of interest to RTL-SDR enthusiasts:

If anyone wants to reach out, they can email [email protected] or join the Discord server linked at the top of the site.

We test-drove GNU Radio World with both RTL-SDR Blog V3 and V4 dongles and found it to work well. However, it seems that V4L support has not been added yet. We have forwarded this feedback to Marc, so hopefully it will be supported soon.

GNU Radio World Browser Flow Graph
GNU Radio World Browser Flow Graph
GNU Radio World Running an RTL-SDR Blog V3
GNU Radio World: Running an RTL-SDR Blog V3

IC-SDR: A New Multimode SDR Software for Windows Written in Go

Thank you to Luis Lopez Martinez for writing in and sharing the release of his open-source software, IC-SDR, a new multi-mode SDR application for Windows written in Gowith a focus on performance and efficiency. Luis writes:

IC-SDR supports AM, NFM, WFM, LSB and USB demodulation, along with several integrated digital decoders:

  • AIS
  • ADS-B (1090 MHz and UAT 978 MHz)
  • Radiosondes
  • APRS
  • RTL_433
  • DMR
  • SSTV
  • TETRA

It also includes a memory bank, real-time spectrum and waterfall displays, an audio recorder with automatic silence removal, and a frequency-segment scanner with instant triggering.

The Windows release can be found on the project's GitHub Releases page.

OrcSDR: Running RTL-SDR Directly on an ESP32-P4

Thank you to Erik Elfstrom for writing in and sharing news about the release of OrcSDR, an open-source standalone SDR application built around the M5Stack Tab5 / ESP32-P4 and an RTL-SDR Blog V4. OrcSDR enables an RTL-SDR to run directly on an ESP32-P4-based microcontroller, meaning no heavy compute is required, such as a full-sized PC or Raspberry Pi. This enables a standalone device to be created with a microcontroller-based tablet like an M5Stack Tab5.

A microcontroller might struggle with multi-channel or wideband decoding when compared to a more powerful computer like a Raspberry Pi 4/5. However, most applications are single-channel, such as FM audio, ADS-B, or P25 decoding, and this is where the ESP32-P4 may shine. Being a microcontroller, it draws much less power, boots instantly, and needs no OS. So OrcSDR could enable a significantly more efficient portable RTL-SDR setup. An ESP32-P4-based M5Stack Tab5 also currently only costs US$60 (including a screen and battery), versus a Raspberry Pi 5 by itself, which has inflated to insane ~US$150+ prices.

Erik writes:

The part I’m most excited about is that this isn’t a Raspberry Pi or Linux system hiding behind a touchscreen. The RTL-SDR Blog V4 plugs directly into the ESP32-P4 USB host, and the P4 handles the radio, DSP, graphics, audio, storage, and touchscreen interface itself.

The idea is to turn the Tab5 and RTL-SDR V4 into a little self-contained radio appliance instead of making the SDR dongle a peripheral that always needs a laptop or desktop application.

OrcSDR currently has dedicated screens for FM, P25, ADS-B, LoRa, RF analysis, and 2.4 GHz Wi-Fi analysis, with more radio modes still being worked on.

I’ve also put quite a bit of effort into the visualization side. Along with the normal spectrum and waterfall, I’ve been building views for things like phosphor persistence, 3D spectrum history, I/Q constellation, I/Q oscilloscope, polar/phase, channel occupancy, and peak hold/averaging.

I want it to be useful as more than just a receiver. The goal is something you can use to listen, decode, explore signals, and also poke around at RF behavior without needing to pull out a computer.

The decoder side has been another big part of the project. FM stereo and RDS have involved a lot of real on-air testing and capture/replay work, and I’m also working through ADS-B, P25, LoRa/Meshtastic monitoring, scanning, and other decoder paths. I’ve tried to be careful about labeling things honestly as working, experimental, or still in progress rather than claiming everything is finished just because there is a button for it.

Erik writes how the project grew from his prior ESP32 RTL-SDR driver project. The standard Osmocom RTL-SDR drivers are written assuming they run on an OS, like Windows or Linux. However,the goal of esp-rtl-sdr was to write drivers so that "An ESP32 should own, characterize, monitor, and adapt an RTL dongle as a native embedded peripheral — not pretend it’s a PC running GQRX." Regarding the drivers Erik writes:

Rather than porting librtlsdr, I treated the RTL-SDR Blog V4 as a black box and worked from the actual USB behavior of the hardware. I used Wireshark and USBPcap while known desktop software operated a real Blog V4, then recorded and analyzed that traffic.

For example, I captured the full manual tuner gain ladder while stepping through the gain settings in SDR#, recorded the screen at the same time so the dB values could be lined up with the USB activity, and separately captured bias-tee control using the normal RTL-SDR tools. From there I built the ESP32 implementation from those measurements.

The driver also keeps track of things that matter a lot more on a microcontroller than they usually do on a desktop, like effective sample rate, USB overruns, consumer drops, and whether a particular sample rate is actually sustainable on that host.

The same driver has now worked unchanged on both the M5Stack Tab5 and a Waveshare ESP32-P4 development board, which was a nice surprise and made me realize the driver could probably be useful as its own reusable ESP32-P4 component instead of just something buried inside OrcSDR.

Erik goes on to write about OrcSDR:

There’s also a backend/control side to OrcSDR that I’ve been having a lot of fun with.

The device has a serial command interface that can tune the radio, scan, start and stop reception, query signal and decoder status, change device settings, start captures, and move capture files on and off the SD card.

That means the radio doesn’t have to be controlled only from the touchscreen. It can be driven from scripts, test tools, automation, or AI tools as well.

I’m trying to make testing a first-class part of the project, so a lot of the same functions you use from the touchscreen can also be exercised through the serial backend. There’s also an optional LAN companion/Mission Control view for checking device status from a browser or Android TV.

One of my main goals with all of this is simply to see how far the ESP32-P4 can actually be pushed as a standalone SDR host.

It has been a pretty interesting engineering exercise because USB streaming, DSP, audio, PSRAM, display rendering, decoder work, and the radio UI are all competing for resources on the same microcontroller.

The project is still beta, but it’s far enough along now that other SDR and embedded developers have started finding it, testing it, and forking both OrcSDR and the underlying RTL-SDR driver.

Erik has posted a photo gallery of OrcSDR here running on an M5Stack Tab5. The code is open-source and can be found on Erik's GitHub

OrcSDR Running on an M5Stack Tab5
OrcSDR Running on an M5Stack Tab5

AI Disclaimer: Claude AI appears to have been used in the development of this software. 

Instro: Python Hardware Instrumentation Library Adds RTL-SDR Support

Instro is an open-source Python library designed to talk to test instrumentation such as power supplies, multimeters, electronic loads, DAQs, oscilloscopes, and PLCs from a unified, typed API.  The maintainers describe the goal as follows:  "Code against an instrument category once, then swap vendors with a single configuration change. When you want to capture the data, attach a publisher to stream it to a file, Nominal, or a destination of your own." A library like this saves engineers from having to write custom drivers for each piece of equipment.

Recently, Alexander Arsenovic, the original author of the excellent scikit-rf RF engineering Python library, wrote and wanted to share that he has added RTL-SDR support to Instro. He has uploaded a video showing it in action with an RTL-SDR Blog V3.

The code is open-source and available on GitHub.

rtl-sdr in nominal.instro

VibeSDR Jr: Apple Watch RTL-SDR, KiwiSDR, UberSDR Client now Available

Back in July, we posted about VibeSDR, an AI vibecoded open-source mobile SDR client for rtl_tcp and UberSDR/KiwiSDR/OpenWebRX servers developed for iOS and Android. In that post, Stuart also mentioned that he was developing an Apple Watch app version of VibeSDR that runs directly on an Apple Watch, allowing you to view and listen to the spectrum on your wrist.

The Apple Watch version, called VibeSDR Jr, is now available as a full standalone Apple Watch App, meaning that no iPhone is required. The app costs £0.99 (~US$1.35). As before, Stuart has provided us with 20 free giveaway codes for the VibeSDR Jr App, so be sure to comment on either this post, the Facebook post, or the X post for a chance to win one of the codes.

Stuart has also noted that he now has a live VibeSDR demo running at demo.vibesdr.net, allowing users to see VibeSDR's DSP and server functionality in action. Stuart writes, "There is an RTL-SDR V4C, SDRPlay RSP1B, and AirSpy HF running on that demo server, all connected to the same AirSpy YouLoop with LNA antenna setup. The RSP1B is locked to 2.8MHz - 10.8MHz and can handle 10 users and the RTL-SDR & AirSpy are unlocked frequencies but 1 user at a time, each user gets a 30 minute time slot to play with. All the built in decoders are available and for the FM-DXers there is a full advanced RDS suite measured against a professional broadcast analyser too."

He also notes the following to avoid confusion with the software in the VibeSDR family:

VibeSDR + Buddy: The Main VibeSDR app and the Apple Watch Remote control companion app for that app.
VIbeSDR Jr: The full standalone Apple Watch SDR client no iPhone required
VibeServer: Built in to Android and standalone apps which allow you to quickly and easily share your SDR’s on a network

Use VibeServer to connect your radio and serve it and then use Jr to listen to it on your wrist, or if you don’t have your own radio Jr is compatible with almost all the same servers as the main VibeSDR app, the only thing it cannot do due to bandwidth/processing requirements is anything that is RAW IQ such as RTL-TCP or SpyServer.

Finally, Stuart notes that the Android version is coming soon and is currently just pending acceptance on the Google Play Store.

VibeSDR Jr - SDR Client for the Apple Watch
VibeSDR Jr - SDR Client for the Apple Watch

KrakenSDR Tested as a GNSS Jammer and Spoofer Localizer

KrakenSDR is our 5-channel coherent software-defined radio designed for applications such as radio direction finding. It was successfully crowdfunded on Crowdsupply back in 2021. We've recently come across a 2025 paper in the Journal of the Institute of Navigation, describing how KrakenSDR was successfully tested as a real-world GNSS jammer and spoofer localizer.

Global Navigation Satellite System (GNSS) services such as GPS are easily jammed by hostile terrestrial signals due to their low transmit power. Jamming is commonly used in modern conflict environments, and is seen heavily in use around Ukraine, Russia, and the Middle East. Similarly, spoofing, which is transmitting a fake GNSS signal to trick receivers into seeing fake locations, is also in use. 

In their paper, Lasse Lehmann et al. from the Technical University of Denmark demonstrate the use of a KrakenSDR for detecting GPS L1 jammers at 1575.42 MHz. The tests were performed at Jammertest 2023, an annual event for open GNSS experiments, and they were able to locate a spoofer down to 18.1 meters via a vehicle-mounted KrakenSDR .

A KrakenSDR Setup at Jammertest 2023
A KrakenSDR Setup at Jammertest 2023

Carshepherd: An Android RTL-SDR App For the Early Awareness of Nearby Emergency-Service Vehicles

Thank you to Cees for writing in and sharing his Android app, "Carshepherd," which is currently in the pre-release stage. Carshepherd works with a connected RTL-SDR and TETRA antenna to give drivers early awareness of nearby emergency-service activity (such as police, ambulance, fire) by detecting the TETRA uplink signal.

Cees notes that this is essentially the same as what hardware devices like 'Target Blu Eye' do to detect emergency services. Laser/radar detectors are illegal in most European countries, and while not advertised as such for legal reasons, Carshepherd could be a legal alternative for detecting laser/radar speed traps, detecting ProViDa video-based pacing vehicles, or just for general awareness.

The app works by continuously sweeping the TETRA bands, looking for the signature of a TETRA carrier. Once it detects a confirmed uplink carrier, it estimates proximity, which then triggers a readout and audible alert. The TETRA uplink is not always active, but emergency service vehicles often send bursts of uplink data every few seconds with GPS position updates, and, of course, during voice PTT.

The algorithm is based on a large labeled dataset from dozens of real-world test drives. The dataset trains an AI classifier that can even tell you whether an emergency unit is keeping pace with you (e.g., traveling down the same stretch of motorway as you) or whether you are approaching a stationary unit.

Carshepherd currently only works in countries whose emergency services use the TETRA communications protocol, which includes most of Europe and various other countries, but notably not the USA. However, Cees notes that they are working on a US version that will listen to the P25 network.

While Carshepherd has not yet been released, the pricing is indicated as €3.99 per month. You can sign up for the waitlist at www.carshepherd.nl.

Sept 5 2026 Update: Carshepherd is now live on the Google Play Store.

Carshepherd Android UI
Carshepherd Android UI

Detecting Dark Matter’s Mark with an RTL-SDR Based DIY Radio Telescope

In IEEE Spectrum, a magazine for Electrical Engineers, author David Schneider wrote an article showing how he used an RTL-SDR, LNA, and DIY Horn Antenna to measure the speed of interstellar clouds and indirectly detect the presence of dark matter.

Based on calculations of the distribution of visible stellar mass in our galaxy, a certain galactic rotational velocity-versus-distance-from-the-center curve is expected. However, when scientists actually measure the galactic rotation, another curve is found - a curve which should result in the galaxy flying apart. This mismatch in expected vs measured data has given rise to the theory of "dark matter". The theory essentially states that to produce the measured curve, the galaxy must have more mass, and that this mass must come from non-luminous matter scattered throughout the galaxy, which is difficult or impossible to observe.

In his experiment, David uses a DIY radio telescope to measure the speed of the Milky Way's rotation at various galactic longitudes via Hydrogen line Doppler-shift analysis. After plotting the results, David confirmed that his results match professional astronomers' observations.

If you're interested, we posted about a similar experiment by Job Geheniau back in 2020.

We also want to note that we sell a ready-to-use kit called the Discovery Dish, which, with the Hydrogen Line feed, could be used for this experiment.

Diagram of a DIY Horn Radio Telescope
Diagram of a DIY Horn Radio Telescope