Category: Digital Signals

Building a DIY Off-Grid Weather Station with a Raspberry Pi and RTL-SDR Receiver

Thank you to Vinnie for writing in and sharing with us his home made Raspberry Pi based off-grid weather station, which uses an RTL-SDR to receive data.

Being somewhat disappointed with a cheap all-in-one weather station's data, lack of local storage and customisation possibilities, Vinnie decided he could do better and build his own custom solution instead. While working on an existing Raspberry Pi based ADS-B station that he had already deployed, he realised that the hardware was largely underutilised and would make an ideal platform for additional RF decoding tasks.

By adding a second RTL-SDR dongle and using the popular rtl_433 software, Vinnie was able to receive and decode data from an Ecowitt WS90 all-in-one outdoor weather sensor. Unlike many consumer weather stations, the WS90 operates as a simple one-way RF transmitter with no cloud dependency, making it ideal for local SDR-based decoding and long-term data ownership.

All weather data is received locally over RF, decoded into JSON, processed on the Raspberry Pi, and stored locally without relying on third-party cloud services. Rainfall totals, daily highs and lows, and historical trends are calculated entirely in software, giving full transparency and flexibility over how the data is handled. A simple web dashboard then displays current conditions and recent history on the local network.

The entire system runs in Docker containers alongside the ADS-B feeder, keeping services isolated and easy to maintain. Optional one-way data sharing to weather aggregation services can be enabled if desired, but the station functions fully offline by default.

In his post, Vinnie has written an in-depth overview of the hardware choices, RF decoding, data pipeline, and software architecture behind the project, including why certain sensors were chosen and how rainfall is calculated from raw impulse data. The code is all opensource and available on his GitHub.

Vinnie's Outdoor ADS-B + Weather Station, and the Ecowitt 90 Weather station.

 

DSDPlus Public Release Updated & Fast Lane Changes

The team behind DSDPlus has recently uploaded a new public release version 2.547. The last public release was version 1.101, released several years ago. Up until now, only DSD+ Fastlane customers have had access to the new version.

The new version adds new programs like FMP, which can be used to receive the FM signal from an RTL-SDR, Airspy or SDRplay SDR and transfer it to DSD+ over TCP. Previously, a program like SDR#, or SDR++ would have to be used along with audio piping software like VB Cable. 

Also introduced are numerous enhancements, including a single-receiver trunk-tracking mode that eliminates the need for dual SDR setups, a site loader GUI for rapid tuning and system selection, significantly expanded digital protocol support such as full P25 Phase II TDMA voice following, encryption algorithm and key ID detection, and GPS/AVL location and mapping capabilities. Hardware integration has also improved with features like bias-tee control for RTL-SDR Blog dongles, serial-targeted device selection, and smoother TCP-linked operation between DSD+ and FMP components.

The full list of changes can be found in the "Notes.txt" file in the DSDPlus zip file. The Radio Reference Wiki also has a summarized changelog.

The team also notes that they are now closing new signups to the DSD Fastlane program. FastLane was a program that allowed users to pay a small fee to receive the latest updates. They note that the program will remain active for users who have already signed up.

DSD Plus V2 Public Release with FMP24
DSD Plus V2 Public Release with FMP24

halow_scanner: An RTL-SDR Based 802.11aH HaLow Channel Scanner

Over on GitHub we've recently noticed the release of halow_scanner, a Python script that uses an RTL-SDR to scan the 802.11ah (WiFi HaLow) channels in the sub-GHz spectrum to determined which channels have the least noise/interference.

Unlike standard WiFi, which operates outside of the RTL-SDRs range at 2.4 GHz+, 802.11ah operates in the sub-GHz ISM bands, which RTL-SDRs can easily receive.

Use of these lower frequencies gives 802.11ah HaLow excellent signal penetration, making it useful for long-range, low-power IoT devices. With 802.11ah HaLow links, several kilometers can be achieved.

The software's features include:

  • 🔍 Scans all 802.11ah HaLow channels in the US 902-928 MHz band
  • 📊 Supports multiple channel bandwidths: 1, 2, 4, and 8 MHz
  • 📡 Uses RTL-SDR for spectrum analysis
  • 🎯 Identifies the cleanest channel with lowest noise floor
  • 📈 Provides detailed power spectrum measurements
  • ⚡ Fast scanning with averaging for accuracy
Comparison Between regular WiFi and 802.11ah HaLow. Source: https://www.gateworks.com/802-11ah-halow-long-range-low-power-wireless-for-iot/
Comparison Between regular WiFi and 802.11ah HaLow. Source: https://www.gateworks.com/802-11ah-halow-long-range-low-power-wireless-for-iot
 

Receiving DAB and FM Signals with an RTL-SDR and Engima2 on OpenPLi 9.0

Thank you to "Radioto bg" from DXing.org for writing in and sharing with us his latest YouTube video showing how to receive DAB and FM signals with an RTL-SDR and the Enigma2 application running on OpenPLi. OpenPLi is an open-source Linux distribution for TV set-top boxes and Engima2 is a TV reception application used within the distribution.

RADIOTO shows how an RTL-SDR can be added to the system, allowing it to also receive DAB+ and FM radio.  In a previous post RADIOTO also showed how the RTL-SDR could be used as a DVB-T receive in Enigma2 and OpenPLi.

Turn Your Enigma2 Receiver into a DAB+ & FM Radio with RTL-SDR v.3! 🔥 Full Tutorial with OpenPli 9.0

Reverse Engineering the RF Communications on a 27 MHz RC Toy with an RTL-SDR and GNU Radio

On his blog, Jacob has recently uploaded an interesting post showing how he used an RTL-SDR to reverse-engineer the 27 MHz RF communications protocol used by his kids' RC toy truck.

To reverse engineer the protocol, Jacob used GNU Radio to visualize and demodulate the signal. He discovered that it was modulated via Amplitude Shift Keying (ASK), and viewing the waveform in a time-domain plot confirmed the on-off nature of the signal. Next, using symbol sync and thresholding blocks, he generated a bit pattern, which was then processed using Python.

Reverse Engineering the RC Toy Truck 27 MHz Signal
Reverse Engineering the RC Toy Truck 27 MHz Signal

Creating an Open Source DMR Transceiver with a LimeSDR Mini

Thank you to Adrian Musceac for writing and sharing his article detailing how he implemented an open-source DMR (Digital Mobile Radio) transceiver modem with his LimeSDR Mini and GNU Radio.

DMR is a digital voice communications protocol often used by commercial business band radios, as well as by amateur radio hobbyists.

Adrian explains:

I wrote an article about the implementation of an open-source DMR transceiver using the LimeSDR-mini, GNU Radio and Codec2, which could be used for SDR experiments.

The DMR modem was designed to work both in repeater and direct (DMO) mode, and supports voice and other basic features of the ETSI TS 102 361-1 standard.

In the article there is discussion about aspects of the TDMA transmission, time synchronization, as well as how David Rowe's Codec2 can be used to replace the default vocoder.

The work builds upon Jonathan Naylor's extensive DMR implementation which a large number of amateur radio operators are using as part of MMDVM.

DMR TX Flowgraph
DMR TX Flowgraph
Transmitting DMR with the LimeSDR-mini

Saveitforparts: Snooping on the SatGus Selfie Satellite

SatGus is a recently launched cubesat owned by CrunchLabs/Mark Rober, an extremely popular science and engineering YouTuber. The satellite is designed to take selfies of CrunchLabs customers' own photos in space, using a screen and a selfie camera mounted on the satellite. It then broadcasts the selfie image back down to a CrunchLabs ground station, where it is eventually emailed to the customer. Customers then claim that they've had their selfie taken in space.

Over on the saveitforparts YouTube channel, Gabe has been attempting to listen in on the SatGus downlink using a HackRF and a motorized satellite dish setup. SatGus transmits telemetry at 400.2 MHz and the payload dump at 2,262.5 MHz. While he is able to receive the signal, Gabe notes that it is encrypted, so not much can be done with it.

Snooping On SatGus Again

TechMinds: Building an Automated NavTex Receiver using a Raspberry Pi and SDRplay

Over on the TechMinds YouTube channel, Matt has uploaded a video tutorial showing how to create an automated NavTex receiver using a Raspberry Pi and an SDRplay software- defined radio.

NavTex is a safety and navigational information radio text broadcast system for mariners, typically broadcast at 518 kHz and 490 kHz. On ships, it is typically received by dedicated hardware that prints out information on a piece of paper as it comes in. However, with an appropriate antenna and an SDR, it is possible to receive and decode NavTex signals at home. 

In his video, Matt shows how a Raspberry Pi loaded with a piece of software created by "boat-comm" can be combined with an SDRplay RSPdx to create a homemade automated NavTex receiver. Matt shows how to install the software and goes on to demonstrate it in action.

Currently, only SDRplay receivers are supported by boat-comms software, but it's possible that in the future, other SDRs may be supported, too.

Automated NavTex Receiver Using A Raspberry Pi & SDRPlay SDR

If you're interested, boat-comm also has a video about his software available on his YouTube channel and we've embedded his video below.

NAVTEX on raspberrypi for sailors