Tagged: ads-b

LakeShark Update: Using an LR2021 LoRa Chip as an SDR for Portable P25, POCSAG and FM Reception on the ESP32-P4

Back in September, we posted about LakeShark, Samuel Reynolds’ (aka SAMS0N1TE) T-Display P4 ESP32-P4 firmware that turns a USB-connected RTL-SDR into a handheld P25 Phase 1, POCSAG, and FM receiver.

Samuel has now written in to share news that with the T-Display P4 variant containing a Semtech LR2021 LoRa chip, LakeShark no longer needs an RTL-SDR at all. Instead, it can pull raw I/Q samples directly out of the built-in LR2021 LoRa transceiver chip and demodulate them on the ESP32-P4. Back in May, we posted Zoltán Papp and team's discovery that showed how an LR2021 could receive ADS-B. But this relied on the chip’s built-in OOK mode.

With raw I/Q available, the chip’s built-in modes no longer limit what it can receive. Both of the LR2021’s RF paths work, providing continuous coverage from 100 MHz to 2.74 GHz, and no upconverters, external tuners, or extra front-end hardware are used. The sample rate is relatively low at 250 Ksps max, meaning only a narrow bandwidth slice is available, but this is more than large enough for narrowband channels like P25. Samuel notes that it’s pretty unreal being able to listen to his local analog NFM fire department channels from such a low-power chip.

Smanuel notes that the LR2021 is still pretty new, and few products use them. However, it is possible to DIY a receiver for about $28 with Waveshare’s Core2021 LR2021 modules and their ESP32-P4-WIFI6 board. Samuel also has an experimental transmit path working, which has sent custom waveforms, temperature packets and P25 test-tone bursts. In one test, an independent receiver decoded 72 P25 voice frames from a single transmission and recovered the expected tone.

The radio access layer has been released as a separate project called LR2021-SDR. It includes a portable C library, capture firmware, waveform tools and measurements, along with graphs from a real received P25 call and a recording of the recovered transmit tone. The updated handheld firmware is available on the LakeShark GitHub.

LakeShark Running on A LilyGO T-Display-P4 next to a HackRF (left) and Flipper Zero (right).
LakeShark Running on A LilyGO T-Display-P4 next to a HackRF (left) and Flipper Zero (right).

SDR– Updated to V2.2: Many New Decoders, Tools and KrakenSDR Direction Finding and Beamforming Support Added

Last month we posted about the release of SDR-- (SDR minus minus), an open-source app that lets you visually wire together a receiver on a canvas. Since that time, Julian, the developer of SDR--, has been busy adding support for many decoders, various tools, and improving performance. Julian has also added KrakenSDR support, with radio direction-finding and beamforming blocks. Julian shares the following update for SDR-- V2.20:

New Decoders

  • Aviation and satellite: VDL2, HFDL, Inmarsat Aero and STD-C, Iridium, Drone Remote ID, 406 MHz beacons
  • Voice: TETRA, Tetrapol, GSM downlink, DECT, D-STAR, FreeDV, NXDN, dPMR
  • Data: LoRa (LoRaWAN, Meshtastic, MeshCore), ISM sensors, End-of-Train, DSC, BLE, Wi-Fi survey
  • Weather: NOAA APT, Meteor LRPT, WEFAX, radiosondes with landing forecast
  • Broadcast: DVB-T/T2, DVB-S2X, DAB packet mode, DRM with xHE-AAC

Coherent and mobile

  • Direction finding, beamforming and passive radar on the KrakenSDR
  • An iOS app with CarPlay for DF while driving is in TestFlight. Android is coming soon.

Hardware

  • Native Support: KrakenSDR, RTL-SDR Blog V4 Lite, AntSDR, PlutoSDR, SDRplay, Airspy, bladeRF and ESP-SDR
  • NanoVNA and antenna rotators
  • rtl_tcp and ADS-B Beast output for other apps

Tools

  • A satellite node with Doppler correction, plus a map with footprints and tracks
  • A spectrum monitor that classifies signals automatically, and a scanner with priorities and lockouts
  • Antenna calculator, noise figure, PER tester, SID monitor
  • Audio denoise, call recording, and a decoder log grouped by station
  • Event outputs: CSV, desktop notifications, PostgreSQL, InfluxDB

App

  • A redesigned UI with a unified look for every node
  • Multi-user editing, remote access from a browser, built-in HTTPS
  • An MCP server, so an AI assistant can build and tune a canvas

Performance

All measured on an M4 Max, full results at https://sdrmm.com/benchmarks:

  • DSP against GNU Radio:
  • FIR is 3.5x faster
  • NCO is 3x faster
  • FM demod is 4x faster
  • DDC is 1.6x faster
  • A 4096-point FFT is 1.6x faster than FFTW
  • Decoding rate in noise (48 trials per decoder across an SNR range):
  • ADS-B: 68%, against 56% for readsb and 50% for dump1090-fa
  • POCSAG: 73%, against 50% for multimon-ng
  • DMR: 81%, against 60% for dsd-fme
  • NXDN: 67%, against 23% for dsd-fme

(feel free to verify yourself with cargo xtask compare dsp)

The speed comes from hand-written SIMD kernels (NEON, AVX2, AVX-512), one shared downconversion for all channels on a radio, and a DSP path that never locks or allocates. The noise gains come from decoding IQ directly with
coherent receivers and soft decisions.

SDR-- Screenshot
SDR-- Screenshot

AI Disclaimer: This software is likely to be AI-assisted or vibe-coded.

FoxSDR Updates: Node Canvas, Single Map Display, Linux+Android Builds, Locating Air Traffic Radar Positions

Thank you to wonderingStars for writing in and sharing updates to his FoxSDR software program. FoxSDR is a new AI-coded software that supports all common protocols and SDRs.

The first update that wonderingStars notes is the addition of a node canvas where you can wire radios, decoders, speakers, and displays together. It can run up to five SDRs at the same time, each with its own decoders. This is now FoxSDR's main screen.

The second update is a map that can accept multiple inputs from multiple decoders, allowing users to plot various data streams such as ADS-B, AIS, amateur high-altitude balloons, and more on a single map.

The third update is that Linux x64 builds are now published, although they are noted to still be in development. An Android arm64 build has also been released in alpha form. To access this, users will need to sign up to test.

The final update adds a new radar sweep feature, which locates the positions of air-traffic radars around you by listening to 1090 MHz. The author explains:

Secondary surveillance radars rotate and interrogate aircraft transponders as their beam passes. Aircraft that broadcast ADS-B also report their own position, so every reply they give reveals where a radar was pointing at that moment. Radar Sweep collects these replies over hours and works out each radar's location, rotation speed and direction on its own. It then draws bearing lines towards aircraft that answer the radar but broadcast no position, and marks a position where two radars' lines cross.

It is the same idea as PlanePlotter's Beamfinder, except that Radar Sweep finds the radar sites itself instead of being given them. It is not affiliated with PlanePlotter or its authors.

In testing on a 12.8-hour recording, it confirmed two radars, each within about 5 km of a published airfield position. Bearings to held-out aircraft had a median error of 0.3°.

You need a 1090 MHz antenna, an SDR running at 2 MS/s or more, and a few hours of traffic. Radar Sweep remembers the radars it finds and never reveals your location.

It is available free to FoxSDR users in the United States.

The author also wanted to share an upcoming feature, which is the GUI builder, which will allow you to customize your own GUI.

FoxSDR: New Node Canvas + Radar Sweep
FoxSDR: New Node Canvas + Radar Sweep

AI Disclaimer: wonderingStars describes their company as a human-gated AI company, and FoxSDR is AI coded.

RF-Traffic-Monitor: Track Aircraft, Ships, Drones and Radiosondes in One Program

Thank you to Stefanos (Steeod) for sharing a new program he created, "RF-traffic-monitor." Stefanos created this program because he initially wanted to install adsb.im (an ADS-B feeder image that also tracks ships, radiosondes, and ACARS/VDL2/HFDL) on Windows 10, but was unsuccessful in doing so, as adsb.im is written for Linux machines.

So, to get around this, Stefanos decided to fire up ChatGPT to write his own similar Windows program. The end result was RF-traffic-monitor, which is capable of tracking aircraft, ships, and radiosondes using an RTL-SDR or HackRF. It can also use the SDR to decode ACARS, VDL2, and HFDL. With a compatible WiFi adatper the software is also capable of tracking drones via Wi-Fi Remote ID.

RF-Traffic-Monitor Screenshot
RF-Traffic-Monitor Screenshot

AI Disclaimer: The author notes that this program was written by ChatGPT.

LakeShark: P25 Phase 1, FM, POCSAG, ADS-B and Sub-GHz with an RTL-SDR on the LilyGO T-Display P4 (ESP32-P4)

Thank you to Samuel Reynolds (aka SAMS0N1TE on GitHub), for writing in and sharing with us his project called 'LakeShark'. LakeShark is firmware for the LilyGO T-Display P4 (an ESP32-P4-based microcontroller with a 4.1 Inch touchscreen, detachable keyboard, GPS, and nine-axis motion sensor), which allows a USB-connected RTL-SDR Blog V3 or V4 to be used for P25 Phase 1 trunking, FM, POCSAG, ADS-B, and sub-GHz capture. Samuel writes:

LakeShark supports P25 Phase I conventional and trunked voice, analog FM, POCSAG pager decoding and 1090 MHz ADS-B, with a spectrum display and waterfall for tuning around.

There are a few other things that might interest your readers:

  • Passive sub-GHz pulse recording with export to Flipper .sub files, so captures can be transferred to a Flipper and opened in its Sub-GHz app.'
  • Offline maps showing aircraft and MeshCore nodes, plus GPS track recording with GPX export.
  • Mixed P25/FM scan lists and a field journal for saving notes with radio readings, position and sensor data.
  • MeshCore messaging and LoRa experiments using the onboard SX1262. The optional MIX-RF keyboard adds CC1101, nRF24 and NFC tools.

The T-Display-P4 touchscreen works on its own, but you can also use the keyboard or connect a Flipper Zero over Bluetooth. LakeShark also supports a headless ESP32-P4 Nano receiver controlled from the Flipper. That lets you keep the radio and antenna in a bag while tuning from the Flipper.

Version 2.2.0 is available now. Experimental work includes manually tuned P25 Phase II decoding, HackRF support and GPS-based scan filtering. Those have separate limitations documented in the wiki. Next steps include live-RF validation, Phase II automatic call following and further work on portable power and everyday usability.

There’s also an experimental CELL WATCH app for surveying cellular-band activity and comparing it against a saved baseline. It’s meant for spotting changes worth investigating, rather than identifying a cell site as malicious or claiming to detect an IMSI catcher.

LakeShark builds on xtrsdr, OP25 and other open-source projects. ADS-B Scope also provided a reference for part of the aircraft position decoding. Full credits are in the README.

Showcase, photos and overview:
https://terminalbay.com/?m=lakeshark-showcase

Source and credits:
https://github.com/SAMS0N1TE/LakeShark

Version 2.2.0 downloads:
https://github.com/SAMS0N1TE/LakeShark/releases/tag/v2.2.0

Flipper companion app:
https://github.com/SAMS0N1TE/LakeShark-Flipper

Wiki and guides:
https://terminalbay.com/?m=wiki

LakeShark is part of a growing repertoire of ESP32-P4 microcontroller RTL-SDR applications. Just last week we posted about OrcSDR, a standalone RTL-SDR application built around the M5Stack Tab5. Back in May, we also posted about a portable open-source 1090 MHz ADS-B firmware for the LILYGO T-Display-P4.

Previously, RTL-SDR applications have only run on full general-purpose CPUs running an OS like Windows/Linux/MacOS/Android. But the ESP32-P4 has shown that commodity microcontrollers are now powerful enough to run an RTL-SDR too, via custom bare-metal drivers and software.

LakeShark Running on A LilyGO T-Display-P4 next to a HackRF (left) and Flipper Zero (right).
LakeShark running on A LilyGO T-Display-P4 next to a HackRF (left) and a Flipper Zero (right).
LarkShark Screens
LarkShark Screens

Frugal Radio: A Six SDR Setup with KrakenSDR and SDRplay for ADSB, ACARS, VDL2, P25

Over on YouTube, Rob from the 'Frugal Radio' channel has uploaded a video showing his multi-SDR monitoring setup that consists of a KrakenSDR, SDRplay RSP1A, and a cheap 12-year-old computer. The KrakenSDR is a 5-channel coherent SDR based on RTL-SDRs, and when connected to a computer, it appears as five independent RTL-SDRs that you can use for any purpose.

Rob currently uses three out of the five channels on the KrakenSDR to monitor three aviation digital signals: ADS-B, ACARS, and VDL2. The SDRplay is used on the same PC to monitor a 700 MHz P25 digital voice system. Rob uses the ADSB.im Docker image, which lets users feed multiple flight aggregation services, such as ADSBExchange, FlightRadar24, FlightAware, etc., all on one device. 

In the future, Rob hopes to add Inmarsat L-band reception with the spare channels on the KrakenSDR, which will be received by a Discovery Dish.

6 x SDR, 4 x monitor PC decoding ADSB, ACARS, VDL2, P25

SDR–: A Software-Defined Radio Application with Visual Signal Path

Thank you to Julian for writing in and sharing with us his interesting project called SDR-- (SDR minus minus). SDR-- is an open-source app that lets you wire devices, decoders, and displays together on a desktop window or browser-based canvas. It is described as "a software-defined radio application with a visual signal path. Connect devices, decoders, displays, and recorders on a canvas, then pin the controls you use to a rack."

A separate Rust server, which can sit on the same PC or a remote computer (like a Raspberry Pi), handles the DSP. Julian notes that SDR-- has native RTL-SDR support, and decoders for ADS-B, AIS, POCSAG, FT8, SSTV, and RDS are already implemented, with more in progress. The app also has a built-in signal generator and a repository of IQ recordings that can be used for experimentation and testing the various decoders.

The project releases are available on GitHub releases, and they cover Windows, Linux, and MacOS. 

SDR-- Screenshot
SDR-- Screenshot

AVARE ADS-B Receiver for Android Updated

All the way back in 2014, we posted about Avare ADS-B Receiver, which back then was a simple RTL-SDR ADS-B receiver and map for Android devices. The author of this app, TFL, recently wrote in and shared that the app is now a modern, fully featured ADS-B app, having added many new features such as UAT decoding with aviation weather products and NEXRAD weather radar/lightning strikes shown on the map, aircraft pictures, better SDR support, traffic filters, and audio alerts.

ADSB Receiver lets you collect live air traffic data directly on your Android device using any RTL-SDR (RTL2832U) dongle and an OTG cable. No cloud. No fees. Just raw RF decoded in real time.

  • Dual-band reception — 1090 MHz Extended Squitter (ES) for worldwide traffic, and 978 MHz UAT for US general aviation traffic plus integrated weather products (METAR, TAF, PIREP, SIGMET, AIRMET, WINDS, NOTAM)
  • Live aircraft details — tap any target on the map to pull a live photo alongside aircraft type and registered operator
  • NEXRAD weather imagery — receive official NEXRAD radar images over UAT 978 MHz
  • Network send/receive —
    • Forward all received data to any GDL90-capable EFB app (AvareX, ForeFlight, iFlyGPS, DroidEFB, and others)
    • Stream dump1090/dump978 frames to any SDR tool on your network, or ingest from an external source
  • Bias Tee and Gain support — power an external LNA or active antenna, adjust Gain as needed
  • Proximity alerts — configurable range-based traffic warnings with optional callsign filtering; useful for drone pilots monitoring airspace
  • Data logging — save all received data
  • Metric support — instead of imperial values

Webpage: https://hiz.ch/index.php/adsb-receiver-avare-adsb

Play Store Links:

https://play.google.com/store/apps/details?id=bs.Avare.ADSB
https://play.google.com/store/apps/details?id=bs.Avare.ADSB.Pro

AVARE ADS-B Receiver Android App
AVARE ADS-B Receiver Android App