Tagged: ads-b

Overhead Sky: A Mac App That Names Local Aircraft in your Menu Bar

Thank you to Chris Miller for submitting news about the release of his (paid) Mac app called Overhead Sky. This app sits in the MacOS menu bar, and names aircraft as they pass overhead, by making use of the adsb.lol ADS-B data aggregator.

The app costs $24.99 one off, or $3.99 monthly, however Chris writes that people who feed adsb.lol with an RTL-SDR or other SDR get the app discounted at $9.99. Chris writes that detecting people feeding to adsb.lol was a challenge, and shares his methods below:

I started on a commercial flight-data API and found it bills per aircraft returned rather than per call, which means one person leaving the app running over a busy sky costs more in a month than the app costs in a year. So I went to the community feeds and read the licences properly, and most said no. airplanes.live is non-commercial. ADS-B Exchange's affordable tier is a non-commercial community tier, and the site is Jetnet-owned now. adsb.lol is ODbL, which permits commercial use with attribution. So that is what it runs on, credited in the app, on the privacy page, and in the App Store description.

Two things follow from being a paid product living on a volunteer commons, both written down before it went on sale. Ten percent of profit goes back to the ADS-B open-data community, totalled once a year and published so the promise stays checkable. And anyone who feeds pays $9.99 instead of the full sticker.

The verification is the part I think fits your readership best. adsb.lol has no login, so the app calls GET /0/me, which reports the caller's own receiver based on the source IP of the request. If your Mac shares a public IP with your receiver, your beast or mlat client shows up and you are verified with no input at all. That call has to run from the user's machine rather than my server, because through a proxy it would judge my IP and match nobody.

The same reasoning sets the data path. Positions go from the Mac straight to adsb.lol, coarsened to about a one kilometre square first, because adsb.lol rate limits per IP and routing every user through one Cloudflare egress would have earned the block it deserved. Only route lookups pass through my server, carrying a callsign already on the user's screen and no location, unlogged.

So that leaves two honest gaps, since they belong in any piece about this. The app reads the aggregated network rather than a local dump1090 or tar1090 feed, so it is API-backed rather than receiver-backed today. And I do not run a receiver myself yet (though I hope to eventually).

Overhead Sky
Overhead Sky

9GRadio: An Android RTL-SDR App for Spectrum Monitoring and Decoding Analog/HAM/Aviation/Marine Radio Traffic

Thank you to Richard (9G5AR) for writing in and sharing with us the release of his open source Android app called 9GRadio. Richard writes that 9GRadio is an app designed for spectrum monitoring/analysis and the decoding of analog/ham/aviation and marine radio traffic.

In terms of demodulation it supports AM, FM, NFM, WFM, WFM Stereo, USB, LSB, CW, CWR, DSB and RAW IQ modes.

For digital decoding, it supports APRS, digital voice modes such as DMR, D-STAR, YSF, dPMR, NXDN, and aircraft, marine, and datalink modes such as ADS-B, AIS, ACARS, RDS, and multilateration.

Richard also notes that 9GRadio includes a full multilateration stack for locating transmitters, which works with 2+ networked 9GRadio receivers. Interestingly, the multilateration stack is noted to be protocol-agnostic, meaning it should work not only with ADS-B, but also with any mode that provides a digital identity for a transmission, such as AIS, ACARS, RDS, and digital voice modes.

The app is not available on the Google Play Store, but the APK is available for sideloading on the project's GitHub Releases page, along with the open source code.

9GRadio GIF of various screens
9GRadio GIF of various screens

Scanner Command: Mapping Incidents from Live Radio Calls and ADS-B to Airband Voice with AI

Recently, we posted about DeepSDR, which is a program that automatically transcribes voice data from public safety radio communications and uses an LLM to categorize and plot incidents on a map as they happen.

In that post, we noted that we expect to see more projects like this soon, and sure enough, another program called "Scanner Command" with a similar angle has been submitted to the blog by author Benjamin Blood. Like DeepSDR the software listens to public safety and then uses voice transcription and an LLM to automatically understand, categorize and map incidents on the map. One additional feature that Scanner Command has is a fun tool that correlates ADS-B data with airband voice. Benjamin explains it best:

Scanner Command turns a radio scanner into a live AI incident map. A Uniden SDS200 covers the trunked digital public safety side (the LA area's P25 Phase II system, with ProScan driving the scanner and handing off every recording), and two $45 RTL-SDR dongles handle the rest, one decoding ADS-B with readsb, one capturing VHF airband transmission by transmission. Everything gets transcribed locally with Whisper, an AI extraction pass works out what happened and where, and about 30 seconds after a call ends it's a color-coded pin on the map with the audio one click away. Location matching is honest on purpose: an exact intersection match gets a solid pin, an area-only match gets a dotted one, and it tells you which.

Here's the design idea underneath it, and what I think separates it from the other transcribe-and-map projects out there: this is built for tactical situational awareness when the grid's down. The system does its learning while it's online, building its own gazetteer of local streets and places, learning unit callsigns and talkgroup names, priming the transcriber's vocabulary from real local traffic, precisely so it's more capable when it's cut off. Map tiles, geocoding, and hazard data are all cached locally with that scenario in mind.

The picture in my head has always been: grid's down, the box is running on backup power serving wifi, and my neighbors connect with their phones and everyone can see what's happening around us, instead of one guy hunched over a scanner relaying it. It's not shelf gear you dust off when something happens; the whole point is that running it every day is what trains it for the day you need it. Transcription is already fully local, the LLM extraction step currently uses a hosted model when online (it runs me about a dollar a day at 24/7), and the next build phase is a GPU box that closes that last gap with a local model.

The feature people are having the most fun with is the airband/ADS-B correlation. The system pulls spoken callsigns out of airband transcripts and matches them to ADS-B tracks by time and geometry, with match windows scaled by altitude and speed, plus hex-to-tail-number derivation. Click a plane on the map and hear what its pilot actually said, with a confidence badge when the match came from a partial readback. Beyond that: an ATAK feed (CoT/KML/GeoJSON), twice-daily AI briefs, a BOLO board, incident threading with a unit activity board, and helicopter orbit detection.

ADS-B aircraft position data automatically linked to airband voice transcripts
ADS-B aircraft position data automatically linked to airband voice transcripts

Benjamin adds that a public demo is available at https://demo.scannercommand.com. But he notes that "the public demo is a replay of two real days of traffic from my setup".

The software has not yet been released, and it does not appear to be free or open-source. There is a signup waitlist available on the scannercommand.com website.

This is an exciting time with AI not only helping to rapidly develop new software, but now being used to summarize and condense the vast amount of information about the state of the surrounding world available in the RF spectrum. 

Scammer Command example mapped incident report
Scammer Command example mapped incident report
I Turned My Police Scanner Into a Live AI Incident Map (24/7)

NyxScope: A Windows Multi-Protocol SDR Decoder Program with Multiple Digital Native Decoders

WARNING: Multiple people have noted that this program is not working as expected and may be overly buggy.

Recently, we've learned about NyxScope, a multi-protocol SDR receiver program for Windows that comes with multiple native decoders built right into the software. Their own description describes this all-in-one program best:

You get spectrum and waterfall, multiple concurrent VFOs, trunked-radio following, digital voice, aviation and marine tracking, paging, ISM sensors, HD Radio, and transcription, in one binary.

NyxScope includes decoders for P25 Phase 1 and Phase 2 voice, EDACS and NXDN control channels, ADS-B, AIS, ACARS, POCSAG, FLEX, LoRa CSS PHY + LoRaWAN MAC, Morse, RDS, CTCSS/DCS, Iridium decoding (with voice), and also includes a signal classification tool, Bluetooth LE scanner, and Whisper voice-to-text transcriber. It also outsources decoding of other protocols to mature decoding software such as multimon-ng, rtl_433, dsd-neo, nrsc5, direwolf, dumpvdl2, dump978, rs41mod where required, noting that the outsourced decoders are bundled with the software, meaning no extra installation work is required.

The software supports RTL-SDR, HackRF, Airpsy, bladeRF, SDRplay, Fobos and PlutoSDR. It also supports using multiple SDRs used in parallel.

The software does not appear to be open source, but it is provided for free with a limitation of 3 concurrent VFOs and a limitation on recording, transcribing, and pager messages. A perpetual per-machine license for $89.95 can be purchased to lift these restrictions and add access to their FCC frequency lookup database.

AI-Disclaimer: While the developers have not noted any use of AI tools, we suspect that AI was used in the creation of this software.

NyxScope Screenshot Scanning the 800 MHz Band
NyxScope Screenshot Scanning the 800 MHz Band

SkyLight Ceiling: Projecting Live ADS-B Aircraft Positions Onto your Ceiling

Recently, Cameron Paczek has created a new project called SkyLight, where art meets technical implementation by displaying a live view of aircraft flying overhead on your ceiling. SkyLight consists of a projector, Raspberry Pi 5, RTL-SDR dongle, and some custom software.

The Raspberry Pi 5 and RTL-SDR receive live ADS-B data from local aircraft, and the projector points up at the ceiling and displays the live locations of aircraft as they fly overhead, effectively giving you a simulated X-ray through your roof. The projections also include the sun, moon, bright stars and constellations, and live satellites. 

This project reminds us of a British Airways billboard in 2014 that used live ADS-B data to have a child on the screen point directly at incoming aircraft. We note that these SkyLight and billboard projects would not be possible without live ADS-B data, as ADS-B aggregation sites like ADSB-Exchange and Flightradar24 typically have a few-minute delay and require payment for their APIs.

Cameron aims to productize his idea into a ready-made kit and crowd-fund it in the near future. If you are interested, you can sign up for his notification mailing list over at skylightceiling.com.

AI Disclaimer: We note that this project appears to have been coded with the help of AI tools.

Skylight Ceiling Projecting Live Aircraft via ADS-B data on the Ceiling
Skylight Ceiling Projecting Live Aircraft via ADS-B data on the Ceiling

Dump1090 For Android Updated to V2

Thank you to Christian from ebcTech for writing in and sharing with us that their Dump1090 app for Android has recently been completely redesigned. We first posted about this app back in 2021. The developer notes that the V2 redesign is faster and has an improved UI.

The app allowes users to use an RTL-SDR dongle connected to an Android device to receive ADS-B signals from aircraft and plot their locations on a map. When selecting an aircraft, the app also shows the aircraft's live flight data and a picture of the aircraft.

Screenshots of the new UI
Screenshots of the new UI
RTL-SDR ADS-B Dump1090 Android

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

PicoADSB: An Ultra-Compact All-in-One ADS-B Receiver Now on Kickstarter

Over on Kickstarter, Lambda58 LLC has released a campaign for their PicoADSB product, a self-contained 1090 MHz ADS-B receiver that replaces a typical SDR plus Raspberry Pi feeder setup with a single SD-card-sized PCB measuring 25mm x 15mm and weighing only 3 grams. At the time of this post, the campaign has reached around $12,700 against a $10,000 goal, and closes on May 16. The maximum claimed reception range is 500km+. At this time, there is no support for 978 MHz UAT, though they mention staying tuned for updates.

A photo of the board shows that it is based on an ESP32-C3-Mini-1 for the WiFi web server, and on what appears to be a separate microcontroller and an L-band tuner chip. The antenna input is fed via a U.FL connector to a 1090 MHz SAW filter, an LNA, and then the tuner. We suspect that the microcontroller is used for its ADC and for ADS-B demodulation. 

PicoADSB appears to compete with ADSBee, which we previously covered. ADSBee is based on the Raspberry Pi Pico chip. However, ADSBee supports both 1090 MHz and 978 MHz on the same board, but costs a little more at US$152 for a set.

PicoADSB with SDCard for Comparison
PicoADSB with SDCard for Comparison