Category: Applications

Stream1090: A New Approach to ADS-B Demodulation Using CRC-Based Framing Instead of Preamble Detection

Over on GitHub, Martin (mgrone) recently released stream1090, a new open source C++ Mode-S demodulator that takes a fundamentally different approach to finding aircraft messages. Rather than searching for the traditional preamble pulse sequence as dump1090 and readsb do, stream1090 continuously maintains shift registers and identifies valid messages based on their CRC checksum. In busy airspace where preambles can be corrupted by overlapping signals, this approach theoretically cannot miss a message as long as the data itself is intact. Since the CRC is always being computed, it can also be used for single-bit error correction.

The software supports both RTL-SDR and Airspy dongles. It's lightweight enough to run on a Raspberry Pi Zero 2W. Stream1090 is a demodulator only, designed to pipe output into readsb or dump1090-fa via socat, slotting into your existing ADS-B stack as a drop-in replacement for the demodulation stage.

If you have an ADS-B station in a high-traffic area, let us know if Stream1090 increases your message rate! There is also a discussion about it on FlightAware, where many people have indicated that they are getting great results.

Stream1090 GitHub Readme
Stream1090 GitHub Readme

New YouTube Tutorials for SatDump V2.x.x

Thank you to Paul Maine, who has submitted to us new SatDump tutorials that he has uploaded to his YouTube channel. The new tutorials focus on the new SatDump V2.x.x alpha version.

The first tutorial shows how to install SatDump 2.x.x, and how to obtain an EUMETSAT API key and use the 'Load First Party' feature to view and analyze satellite data downloaded from the internet. The second tutorial focuses on the nbew DSP Flowgraph feature, and the third discusses how Look Up Tables (LUTs) are used with satellite imagery.

E24 SatDump v2.x wip Part1

E25 SatDump v2.x wip Part2 DSPflowgraphs

E26 SatDump v2.x wip Part3 LUTs

Saveitforparts: Receiving Artemis 2 Signals

Over on the saveitforparts YouTube channel, Gabe has recently posted two videos where he attempts to receive the Artemis 2 signal. His setup consists of a surplus satellite dish inside a geodesic radar dome at his "Sandland" radio observatory, a 3D-printed feed, a HackRF One SDR, and various LNAs, including a dedicated S-band unit from LMA Scientific. He used GPredict for tracking and SDR++ for spectrum analysis, targeting the expected downlink frequency around 2216.5 MHz.

The main challenges were the capsule's low elevation angle from his location in Minnesota, rapidly changing orbital elements that made TLE-based tracking unreliable during the trans-lunar injection burn, and the fact that all telemetry is encrypted. During his first overnight session, he was only able to detect what appeared to be an extremely faint carrier at approximately 2216.49 MHz, which is consistent with the expected Doppler-shifted frequency, which disappeared when the dish was moved off-target. In a second session timed to catch a handover between NASA's Goldstone and Canberra Deep Space Network stations, he received a noticeably stronger carrier signal and even observed sideband activity, though still not strong enough to resolve any modulation detail.

He notes that NASA's original citizen science RFP called for ~9 meter dishes, far larger than his ~2.5 meter setup, and that the capsule also uses a laser communications system for high-bandwidth data. The Canadian Space Dashboard and DSN Now websites proved useful for predicting optimal observation windows during ground station handovers.

Can I Overhear The Artemis II Moon Mission With SDR?

Listening To Artemis II's Return To Earth With DIY Satellite Station

Receiving the Artemis 2 S-Band Carrier With a Wi-Fi Dish and Airspy R2

Thank you to Simone Spadino for writing in and sharing how he received the S-band carrier signal from the Artemis 2 Orion capsule from his home in Italy, using a simple one-meter Wi-Fi grid dish, an Airspy R2, an LNA, a filter, and a downconverter. Simone notes that his results show it is possible to receive the Artemis carrier signal with a small dish.

Artemis 2 may have already returned to Earth safely, but there are future missions planned for 2027 and beyond, so Simone's write-up serves as a great place to get yourself ready to receive those future missions.

Simone's write-up notes that perfect tracking with a rotator wasn't required because the Wi-Fi dish had a beamwidth of about 11°, so he was able to manually orient the dish every 10 minutes using an Android smartphone. On the first night, he achieved a carrier SNR of 5.5dB, and on the second night, 6.5 dB.

Artemis S-Band Carrier Received with Wi-Fi Grid Dish
Artemis S-Band Carrier Received with Wi-Fi Grid Dish

SPECTRAL-GSM: A Web-Based GSM Interception Platform Built on OsmocomBB

OsmocomBB is an open-source project that replaces the stock baseband firmware on old Motorola phones (C118, C139, etc.) that use the Texas Instruments Calypso chipset. By flashing custom "layer23" firmware over serial, these cheap legacy handsets become capable of accessing raw GSM radio data at the baseband level, enabling cell scanning, burst capture, and passive subscriber identity harvesting.

SPECTRAL-GSM builds on this by wrapping OsmocomBB into a full GSM intelligence suite controlled from a single browser tab. The system supports up to five phones simultaneously and provides a structured pipeline: scan local GSM cells, capture raw bursts on a target channel, crack the A5/1 encryption using rainbow tables on a 2 TB SSD, and then use the recovered session key for real-time voice and SMS decryption. Additional modules handle passive IMSI catching, targeted single-IMSI surveillance, silent SMS location probing via a USB modem, and OpenCellID cell tower mapping.

The developer notes that the platform is intended for authorized research, law enforcement, and educational use. At the moment, Mini0com has not provided a link or website to the software, only providing a PDF file, and video demonstrations of the system on their YouTube channel. Contact details for Mini0com can be found in the description on the YouTube videos below.

Spectral-GSM OsmocomBB

OTP Capture Demonstration Using Spectral-GSM OsmocomBB

Echo: KiwiSDR, OpenWebRX, WebSDR and FM-DX iOS Browser App now Officially Released

Back in February, we posted about the beta release of Echo, an iOS app designed for browsing global web-based KiwiSDR, OpenWebRX, WebSDR, and FM-DX software-defined radios. Mark, the developer of Echo, has now officially released the app on the Apple App Store for free.

Echo turns your iPhone and iPad into a global radio receiver. Browse 2,000+ KiwiSDR, OpenWebRX, WebSDR, and FM-DX servers to hear shortwave, aviation, numbers stations, and distant FM in real time.

More information can also be found on the new echosdr.com website.

Echo iOS KiwiSDR, OpenWebRX, WebSDR and FM-DX Browser App
Echo iOS KiwiSDR, OpenWebRX, WebSDR and FM-DX Browser App

Adding ACARS Decoding to an ADS-B Flight Tracker

Over on his blog, cynicalGSD has written a detailed post about how he extended his home ADS-B flight tracking setup to also decode ACARS. His existing system runs an RTL-SDR dongle on a Raspberry Pi feeding a database and Flask web app. Adding ACARS required a second RTL-SDR and a separate VHF dipole antenna tuned for 129–131 MHz.

ACARS (Aircraft Communications Addressing and Reporting System) is a text-based datalink that has been in use since 1978, carrying short messages between aircraft and ground stations. It includes messages such as OOOI events (Out of gate, Off ground, On ground, Into gate), pilot weather reports, maintenance fault codes, and gate and fuel data. The key feature of their implementation is cross-referencing ACARS messages with existing ADS-B records via aircraft registration and ICAO hex address, enriching flight records with precise departure and arrival timestamps from the airline's own reporting system.

The full write-up covers the database schema, Python integration using acarsdec, gain tuning tips, and the Flask web interface. cynicalGSD mentions that the code is available for anyone interested, but we didn't see a link, so please comment on his post if you are interested.

Technical Summary of cynicalGSD's ACARS + ADS-B implementation.
Technical Summary of cynicalGSD's ACARS + ADS-B implementation.

Using the NISAR Satellite as an Illuminator for Passive Radar

Over on GitHub, Jean-Michel Friedt has uploaded new code, results, and findings from one of his latest experiments with passive radar. A simple passive radar system uses two coherent receive channels and two antennas. One antenna receives a clean reference signal from an illuminator of opportunity, such as an FM or TV transmitter, while the other surveillance antenna receives echoes from the area containing targets. By correlating the surveillance signal with the reference signal over different delays and Doppler shifts, the system produces a range-Doppler map showing potential targets.

The novel thing about Friedt's recent work is that the illuminator is a moving L/S-Band satellite in space. The illuminator used is the polar-orbiting NISAR, a NASA-ISRO satellite designed for synthetic aperture radar (SAR). SAR satellites create detailed images of Earth by sending radar pulses to the ground and combining the returning echoes collected as the satellite moves, effectively simulating a much larger antenna.

Part of the trouble with using NISAR as an illuminator is predicting when it will be illuminating your current location. Friedt's GitHub readme explains how the software does illumination prediction.

NISAR emits chirp signals at 20 MHz bandwidth in the L and S-band, so a wideband SDR is required to get the full resolution. In his setup, Friedt used an Ettus B210 or Enjoy Digital M2SDR SDR, with two active GNSS antennas. 

The results show that he was able to successfully receive reflections of the satellite signal from the ground, transform the range-doppler data into map coordinates, and overlay them on a map.

[Also seen on Hackaday]

Passive Radar via the NISAR Satellite
Passive Radar via the NISAR Satellite