Category: Applications

Open-Weather: Contribute to a Snapshot of the Climate Crisis Through NOAA Satellite Imagery

Open-weather is an art project made up of a community of volunteers who capture NOAA weather satellite images with RTL-SDR or similar devices. The images are then collected and stitched together to form a snapshot of the planet, and to be used in various art projects. We have previously posted about some related art projects that the team behind open-weather have done in the past.

Receiving NOAA satellite images may now be run of the mill for many of us technically minded people who have been in this hobby for a while, but one of the ideas behind open-weather is to reach out and inspire people from any background to try and receive satellite weather images. This includes people and communities in the arts that may not be technically minded at all. To achieve this the team has created easy to understand guides, hosted workshops, and created artwork and performances based around the reception of these satellite images.

In a recent article on theconversation.com, the team describe how they collected 38 images from 29 volunteers, across 14 countries and six continents on the first day of the COP26 climate conference. By involving more people in the process of essentially watching the earth from afar, they hope to inspire climate responsibility and to put some thought behind how we are affecting and being affected by the changing environment. An excerpt from the article is pasted below:

This snapshot included a cyclonic weather system curling around the UK, dust clouds sweeping the Indian subcontinent, and the glaciers of the Patagonian Andes, which have been shown by geographer Bethan Davies to be rapidly receding and thinning in response to global warming.

...
 

These satellite images and field notes demonstrate that the climate crisis feels different depending on who you are and where you live. In some places, dry seasons are expanding. Elsewhere, it’s clouds of dust, increasingly volatile storms, or health effects triggered by the air that we breathe.

As politicians fail to respond to the climate emergency, a growing community of Earth-watchers has practical and political potential. Together, we might learn to be collectively responsible for, and accountable to, the environments we are changing.

Sasha Engelmann of Open-Weather receives a NOAA Satellite Image.

DAB+ Decoder Welle.io Version 2.4 Released and YouTube Demonstration Video

Version 2.4 of the RTL-SDR compatible DAB/DAB+ decoder called welle.io has recently been released for download on GitHub. The main changes include various bug fixes, the addition of Windows 11 support, and the return of the Android APK (but only with rtl_tcp support).

The author has also released a new YouTube video tour, demonstrating the software in action, and explaining all the features.

Showing welle.io a SDR to listen DAB/DAB+.

New HAM FM and ADS-B Radar Android Apps

Thank you to James Mainwaring for submitting news about the release of his two new RTL-SDR compatible Android Apps "Ham FM Radio (RTL-SDR)" and "ADS-B Radar (RTL-SDR)". 

The Ham FM Radio app allows the user to quickly tune and listen in to the 144-148, 150-174 and 420-450 MHz ham radio communications via presets. For the second ADS-B app, James notes that it's an early release for feedback. It allows the user to receive ADS-B data and plot it on a radar like display.

We note that we've previously posted about James' other apps for FM Radio and airband listening.

The Ham RF and ADS-B Radar Apps by James Mainwaring

Global Area Coverage (GAC) Images Decoded from NOAA Satellites

Thank you to @ZSztanga and @aang254 for submitting news about their recent success at decoding the L-Band Global Area Coverage (GAC) signal from polar orbiting NOAA satellites. GAC images are low resolution, and described by NOAA as follows:

Global Area Coverage (GAC) data set is reduced resolution image data that is processed onboard the satellite taking only one line out of every three and averaging every four of five adjacent samples along the scan line.

While it's low resolution, the interesting thing about this data is that you get an image of the entire orbit, not just the data from your current location as you'd receive with the standard 137 MHz APT or L-Band HRPT signal. The catch is that the signal is usually only transmitted over the USA, and you'll need a motorized or hand tracked L-Band satellite dish setup to receive it.

We note that GAC data is not to be confused with the Direct Sounding Broadcast (DSB) signal decoding software we posted about in 2020. 

@ZSztanga has provided some more information about what images are available and who can receive it, and @aang254's tweet below provides some images and additional information:

With @aang254 we decoded GAC from NOAA satellites. It's basically a dump of reduced resolution data from the whole orbit. It includes all the instruments and is transmitted on L-band along with HRPT (mostly over USA, rarely above Europe and only NOAA-19 dumps outside the US). All the decoders are in SatDump.

There is also a schedule available (https://noaasis.noaa.gov/cemscs/polrschd.txt) that includes all the dumps in the upcoming week. It might be a bit hard to interpret, but basically there is a date and the ground station name (SVL stands for Svalbard and it is the only one receivable in Europe). Entries with "GAC" or "PBK" are referring to the GAC transmission.

We've also seen a tweet by @OK9UWU that shows a much longer image of a full orbit.

rsadsb: Terminal Based Aircraft Radar on the Raspberry Pi

Thank you to Wayne Campbell for submitting news about the release of the latest 0.5.0 iteration of his RTL-SDR compatible 'rsadsb' software package that plots ADS-B aircraft positions on a terminal based display. Wayne has also created a blog post describing how to set up a Raspberry Pi based portable ADS-B setup with his software.

The package consists of two separate programs 'dump1090_rs' and 'radar' (aka adsb_deku). The dump1090_rs program is a rust implementation of the dump1090 ADS-B decoder and 'radar'  is the terminal based map. A quickstart guide for setting up both programs is also available.

The software can run on a Raspberry Pi and works well displayed on a portable touchscreen. It appears that the terminal display is very responsive with zoom controls for the radar display, a coverage map, and a tidy list of all detected aircraft.

If you're interested in terminal based displays, we've posted about a similar terminal based ADS-B plotter called 'coole-radar' in the past, as well as a terminal based spectrum analyzer display called retrogram.

rsadsb: Terminal ADS-B Radar Display

Demonstrating the New 3D Maps in SDRAngel

In December of last year we posted about a video demonstrating the many features that the SDRAngel software comes standard with. Recently they've added a new feature which are 3D maps that can be used to visualize signal data.

In the latest video demonstration they show these 3D maps projecting NOAA weather satellite images onto a 3D globe and at the same time tracking the NOAA satellites over the globe as it produces imagery. They also show the software visualizing a 3D model of aircraft on the globe, using live ADS-B data to show aircraft maneuvers when taking off, cruising and landing. With multiple SDRs they also show how the visualization can be combined with air traffic voice. Finally they also show marine vessels being visualized via live AIS data. There appear to be a wide range of vessel 3D models implemented.

Turbine: Capture and Stream all Frequencies in a Trunked Radio System with a HackRF

Over on Reddit we've discovered an interesting program called 'Turbine' that has recently been open sourced by the author. This program connects to a wideband capable SDR such as a HackRF and captures and streams all frequencies in a trunked radio system. Users can then browse the recordings online. On his reddit post u/norasector introduces Turbine, and his application for it called 'NoraSector'.

I am open sourcing the SDR code for NoraSector, which currently captures and streams the radio systems for both King and Snohomish County, WA. It uses a HackRF One to capture every channel concurrently, and can even process multiple systems at the same time, provided they are within the same bandwidth that is captured by the SDR and there's adequate reception. I plumb the output through a WebRTC streaming infrastructure I built to stream audio to clients over the web with very low latency. My goal was to give complete access to an entire system to anyone over the web, just as they would have if they were using a handheld scanner, and with comparable latency.

Turbine is a bit different other SDR software out there. It's written entirely in Go, and was built explicitly to only use a single SDR rather than bonding multiple SDRs together.

Turbine works by tuning known control frequencies and then tuning all voice frequencies it learns from them. Voice transmissions are encoded using the Opus audio codec for compatibility with WebRTC and blasted out as frames over UDP. It also includes a functional-but-janky built-in visualization web server to look at each stage of the DSP pipeline for each frequency, which was crucial for debugging as I was building it.

Right now, it only supports legacy Motorola SmartZone systems (which is what is used near me), but it shouldn't be a large lift to make it support P25. The code is heavily influenced by op25 and GNURadio (and in some places just outright copying them). I built it in Go because a) it's what I'm most familiar with and b) the sheer density of GNURadio made it hard for me to piece things together how I wanted. Go's concurrency model is a natural fit for doing many concurrent operations on the byte stream, and I haven't had issues with garbage collection pausing execution in a detrimental way.

Turbine isn't intended for use with lower sample rate SDRs like the RTLSDR. It has a driver for it, but doesn't support bonding multiple SDRs together. If an entire system fits within the 2MHz sample rate, it would probably be fine. You should be able to fire it up with a RTLSDR but it will not be able to capture very much. It currently only officially supports the HackRF One, but adding other SDRs should be relatively trivial. Note that the HackRF I am using is the model with the upgraded TCXO, as I found that the built-in oscillator was not accurate enough.

Turbine has only been tested to run on Linux and is very CPU-intensive; the production radio runs on a dedicated i7-11700k 8c/16t CPU and consumes about 60% of all cores decoding both systems. There are some potential optimizations that could be made that would lower CPU consumption during periods of low activity, but I built it for the worst case of having to encode every voice frequency at once.

The usual disclaimers about OSS apply. I hope you find it interesting or perhaps useful, and maybe portions can be adapted so Go can be used more in SDR projects.

There have been similar projects in the past like radiocapture-rf, scaneyes, and broadcastify calls, but Turbine looks like one of the most comprehensive.

Norasector: An implementation of the Turbine Trunk Recording software

Tech Minds: 10 Common Mistakes Made With Software Defined Radio

Matt from the Tech Minds YouTube channel has recently uploaded a video highlighting 10 common mistakes made with software defined radio. The topics go over software choices, driver installation, coax choices, signal bandwidth, time of day, modulation type, high gain settings, low gain settings, cheap & cloned SDRs and finally antennas. This is a great video to watch if you are new to SDRs and radio in general.

10 Common Mistakes Made With Software Defined Radio