RTL-SDR Now Runs on iPad M-Series Devices Directly via USB Without Jailbreak

Thank you to Arved (DK5AV/M0KDS) for writing in and sharing with us some exciting news. Arved has just announced his USBDriverKit extension for RTL-SDRs over on X and released it as open-source code on GitHub.

This is an unofficial port of librtlsdr, created using USBDriverKit instead of libusb, which is not available on iOS. This now allows RTL-SDRs to run directly on iPad iOS devices via USB without any jailbreak requirements. Previously, RTL-SDRs were unable to run on iOS devices directly. The only way around this was to run an RTL-SDR remotely and connect to it over a network via rtl_tcp.

The one caveat at this stage is that this currently only supports iPads with an M-Series SoC. At this time, only iPads use M-series chips, whereas iPhones currently use A-series chips. It also appears that the Blog V4 is not yet compatible with this driver due to the required EEPROM strings not being read by the drivers yet. 

In the video embedded below Arved shows an RTL-SDR running on his M1 iPad, and demonstrates CoronaSDR, welle.io, SatDump and rtl_tcp running.

RTL-SDR Running Directly on iPad via USB — Demo with CoronaSDR, welle.io, SatDump & rtl_tcp (no JB)

Arved has also released a video (embedded below), demonstrating SatDump connecting to an RTL-SDR and receiving a signal from a Meteor M2 LRPT weather satellite. He first records the IQ data with SatDump, then uses SatDump to decode the recorded data into an image.

Meteor-M2 4 LRPT Reception on iPad with RTL-SDR via USB — SatDump Demo

iq_tool: A Command Line Tool for Resampling, Filtering, Shifting and Correcting IQ Data Streams

Thank you to Eric Inloes for submitting to the blog his new tool called "iq_tool". This is a tool designed to "provide an easy, fast, and lightweight command-line utility for converting I/Q data from files or SDRs to a specific sample rate and format, and then either piping it to other programs or writing it to a file". Or in other words have a "neutral ffmpeg like converter tool but for IQ data".

Many SDR software tools are written for specific SDR hardware, such as RTL-SDRs, and may only accept a specific sample rate, type, or bit depth, meaning other SDRs cannot use these tools. The goal of iq_tool is to easily allow the IQ data stream from any SDR to be converted into a compatible format. 

Eric gives some examples. For example, if you wanted to use rtl_433 with an Airspy you could run the command:

iq_tool --input airspy  --airspy-gain-mode linearity --airspy-gain-value 15 --output stdout  --sdr-rf-freq 433.92e6 --output-sample-rate 250e3 --output-sample-format cu8 --output-agc | rtl_433 -r -

Similarly, for an SDRplay, you could run:

iq_tool --input sdrplay   --sdrplay-lna-state 15 --sdrplay-antenna b --sdrplay-if-gain -50 --output stdout  --sdr-rf-freq 433.92e6 --output-sample-rate 250e3 --output-sample-format cu8 --output-agc | rtl_433 -r -

We note that Eric released this tool with the caveat that it is experimental and was written with heavy AI assistance.

iq_tool example converting from a networked Airspy and piping into rtl_433
iq_tool example converting from a networked Airspy and piping into rtl_433

Further Tutorials on SatDump Map Projections

Thank you to Paul Maine, who has submitted to us two new SatDump tutorials that he has uploaded to his YouTube channel. These two tutorials follow on from his previous tutorials that we posted a month ago.

His SatDump V2.x Part 5 video demonstrates Recording and Processing. Paul shows his hardware setup and then shows GUI Live Processing, CLI Live Processing, CLI Recording and how to use the GUI to process recorded files.

E28 SatDump v2.x Part5 Recording & Processing

His SatDump V2.x Part 6 video on Projections introduces Map Projections. Paul uses things covered in earlier SatDump videos and builds upon them to create very interesting map projections. For his first example, he uses the Load First Party feature to download a GOES-19 CONUS image. Next, he shows how to add a shape file and a Severe Storms image expression. Lastly, he shows how to create an equirectangular map projection. In the video, Paul also shows how to create three other types of projections.

Before SatDump Projection
Before SatDump Projection
After SatDump Projection
After SatDump Projection
E29 SatDump v2.x Part 6 Projections

Receiving ADS-B With a Semtech LR2021 LoRa Chip

Over on his blog, Zoltán Papp and team have created an interesting write-up investigating whether Semtech's LR2021, one of the latest LoRa transceiver chips, which draws only 10.4 mA at 3.3V, can be used as a single-chip ADS-B receiver at 1090 MHz. The LR2021 natively supports OOK modulation, and the datasheet even hints at ADS-B reception. Building on prior work, the team captured live ADS-B signals with an SDR and replayed them into the LR2021 eval board for repeatable bench testing.

The initial 3 MHz Rx bandwidth configuration had only a 50% packet success rate with no reception above -50 dBm, because the AGC could not settle within the short 8 us preamble. Extending the sync pattern into the Mode S 'df' field enabled reception across the full dynamic range, but at the trade-off of broadcast message reception only. Manchester decoding and CRC also had to be moved to the host, since, for an unknown reason, Manchester decoding with inverse polarity would not work on the chip.

Measured sensitivity came in about 5 dB shy of the theoretical -89 dBm, with most of the gap blamed on the eval board's front end being matched for 868 MHz rather than 1090 MHz. The team notes that with a modified front end, the theoretical sensitivity should be possible.

With the rise in Raspberry Pi costs due to the consumer memory chip crisis, cheaper ADS-B receiver hardware is welcome. Some existing microcontroller-based ADS-B decoders that we've seen recently include ADSBee and PicoADSB.

Signal Hound SDR Hardware used to Capture and Replay ADS-B For Testing
Signal Hound SDR Hardware used to Capture and Replay ADS-B For Testing

OpenWXSDR: A Streamlined Automated Multi-Sonde Decoder for Raspberry Pi with RTL-SDR or Airspy

Thank you to Mike (DL2MF) for writing in about the release of OpenWXSDR, a new open-source Python framework that turns one or more RTL-SDR dongles or Airspy SDRs into a fully automated radiosonde ground station running on a Raspberry Pi 4/5 or Linux x86 machine.

If you are unaware, a radiosonde is a lightweight instrument package typically carried by a weather balloon to collect atmospheric data, including temperature, humidity, pressure, and GPS position. It transmits this data back to the ground via radio signals. Using an RTL-SDR or another software-defined radio (SDR) along with appropriate decoding software, hobbyists or researchers can receive, decode, and visualize these signals. Radiosondes are typically launched by local meteorological agencies in many cities worldwide at least twice per day.

OpenWXSDR continuously scans the 400-406 MHz meteorological band, automatically identifies balloon transmissions using DFT correlation analysis, and spawns dedicated rs1729 decoder subprocesses. Supported sonde types include RS41, RS92, DFM06/09/17, M10, M20, iMet-54, LMS6, and MRZ.

The software also supports multi-sonde and multi-SDR. While one dongle scans for new signals, others simultaneously handle active decoding sessions. Decoded telemetry can be submitted in parallel to SondeHub v2 and to OpenWX.de via MQTT (with optional TLS), and as Horus-compatible UDP JSON datagrams for local tools like SondeMonitor. A built-in Flask and Leaflet web interface shows live positions, flight tracks up to 20,000 points, PTU sensor readings, and signal metrics, with most settings editable from the WebUI during operation.

OpenWXSDR Web Interface
OpenWXSDR Web Interface

Early Development Plans for Flipper One Announced

The team behind the wildly popular Flipper Zero product has just announced their development plans for a Flipper One device. If you were unaware, Flipper Zero is an extremely popular wireless hacking/research tool based on a STM32 microcontroller and TI CC1101 sub-ghz transceiver. While not an SDR, the CC1101 hardware radio chip is very capable at demodulating/transmitting many sub-GHZ OOK/ASK/FSK/GFSK/MSK protocols, and for capture/replay attacks. Flipper Zero also implements 125 kHz RFID, Bluetooth LE, 13.56 MHz NFC, Infrared RX/TX capabilities, and general GPIO/UART/SPI/I2C interfaces. Flipper Zero has been so popular that it has been seen in more mainstream media such as on Linus Tech Tips

While Flipper Zero was extremely popular, the team outright makes clear that Flipper One is not a successor to Flipper Zero. Instead, it is a completely new project. Flipper One will be a full RK3576 ARM-based Linux computer (with computing power similar to a Raspberry Pi 5), with a Raspberry Pi RP2350 Microcontroller co-processor and PCIe M.2 expansion modules to add capabilities such as an SDR, a 5G modem, an SSD, or anything else. It will also include GPIO expansion modules, be a full Ethernet/WiFi multi-tool with MediaTek MT7921AUN, have a satellite NTN (non-terrestrial network) cellular modem, and, of course, come with a built-in NPU AI accelerator capable of supporting offline LLMs. On the more conventional side, they also plan to make Flipper One capable of running a full Linux desktop and serving as a portable TV media box.

Currently, they are in early development, still working through architectural and hardware choices, and developing software. The announcement post was created to announce that they will design and build Flipper One openly in public, and are actively seeking public support via their Flipper One development portal.

They note that building in public will be required to support their lofty ambitions to bring in full mainline Linux kernel support to the RK3576 ARM processor, push vendors to open up existing closed-source code and ditch binary blobs, build an unconventional CPU + Microcontroller co-processor architecture, build Flipper OS, a Debian layer with resettable user profiles, and design a Linux UI framework for small screens.

The closest competing existing devices appear to be the ClockworkPI uConsole and Vivid Unit, as well as the various Cyberdeck-type products.

The Flipper One
The Flipper One
An example of how a SDR module might be attached to Flipper One
An example of how a SDR module might be attached to Flipper One

RPITX-UI: A Modernized, Easier to Use Fork of the RPITX Raspberry Pi Transmitter Software

Thank you to Ihar Yatsevich for writing in about his release of rpitx-ui, a modernized fork of F5OEO's popular rpitx project. If you were unaware, rpitx is software that turns a Raspberry Pi (most Pi hardware apart from the Pi 5 is supported) into a low cost RF transmitter by generating signals directly on a GPIO pin, requiring no extra hardware beyond a wire antenna. Ihar writes:

rpitx-ui started as a fork of F5OEO’s rpitx and has evolved into a modernized, easier-to-use version of the original Raspberry Pi RF transmitter project. The goal is to make rpitx easier to build, install, use, and extend on modern Raspberry Pi OS systems.

In rpitx-ui, the build system has been migrated to CMake, the project installs system-wide, and it has been adapted for 64-bit Raspberry Pi OS (Debian Trixie). Most transmitter binaries have been rewritten in modern C++20 with shared DSP, audio, and CLI libraries. SSB and AM now use an internal DSP chain with direct DMA output instead of shell pipelines (removing the large SSB startup delay), NFM is a standalone transmitter with wide/narrow deviation presets, WFM with RDS has configurable PI, PS, RadioText and 50/75 us pre-emphasis, CW/Morse has safer parsing with adjustable WPM, and a new RFgen mode supports noise, sweep, and multitone generation. Audio modes also now accept any libsndfile compatible format rather than only WAV.

The UI itself has been improved with file selection for common modes, loop or once playback, custom messages for POCSAG/RTTY/CW, Opera call sign input, SSB sideband selection, NFM deviation selection, and RDS parameter setup. Full source and build instructions can be found on the rpitx-ui GitHub page.

No-SDR: A New Open Source Multi-User WebSDR for RTL-SDR

Thank you to George (gbozo), who has just released no-sdr (named from No(de)-sdr), a new open source multi-user WebSDR for the RTL-SDR written in Go and node JS. A WebSDR allows users to run an SDR remotely and access it over a local or internet network connection. This is useful for bringing an SDR closer to an antenna, instead of running a long, lossy coax cable, and for sharing SDRs among multiple networked users.

The no-SDR software runs on x86 or Raspberry Pi, is Dockerized, and supports multiple RTL-SDR dongles being connected at the same time. On the DSP side, it currently implements WFM (stereo + RDS), NFM, AM, AM Stereo (experimental stereo C-QUAM), USB, LSB, CW, and raw IQ, with digital decoders like ADS-B, AIS, APRS, POCSAG, FT8, and WSPR planned. There is also an "Identify Song" button that uses the Audd API to ID currently playing tracks on WFM, NFM, and AM.

George also points out that he's implemented an innovative lossless FFT codec with a very high ~10:1 compression ratio, as well as the Opus codec for audio. The result is a 12-15 kB/s transmission rate with a 12 FPS FFT with 8192 bins and AM demodulation compressed audio. 

The no-sdr Web Interface
The no-sdr Web Interface