Tagged: rtl_433

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.

 

rtl_haos: An rtl_433 to Home Assistant Bridge

Thank you to Jaron McDaniel for writing in and sharing with us the release of his open source software called "rtl_haos". rtl_haos is a 'drop-in' bridge that turns one or more RTL-SDR dongles into Home Assistant friendly sensors via rtl_433 and MQTT. Jaron writes:

I just finished a tool that that bridges data received from rtl_433 into Home Assistant friendly entities. Basically allowing you to integrate anything rtl_433 can see into Home Assistant.

Basically you clone the git to a Rasberry PI, configure it for your MQTT server, plug in a RTL-SDR or two and you'll see entities with icons and units automatically assigned to whatever rtl_433 discovers.

This tool allows you to connect older and cheap non-Wi-Fi connected sensors to Home Assistant, which typically communicate to a base station via wireless ISM band signals. Home Assistant is an open-source home automation platform that integrates and controls household devices such as lights, sensors, and actuators.

rtl_haos Overview
rtl_haos Overview

RTL433 Plugin for SDRSharp Updated

Back in 2021 we posted about a SDR# plugin that allowed you to interface with rtl_433 from within SDR#. RTL433 (rtl_433) is a commonly used RTL-SDR command line program that provides decoders for a wide range of 433.92 MHz, 868 MHz, 315 MHz, 345 MHz, and 915 MHz ISM band devices. Examples of such devices include weather stations, alarm sensors, utility monitors, tire pressure monitors and more.

Recently there have been a few updates to the plugin after a years hiatus which probably meant that the older version was not compatible with newer versions of SDR#. But there are also several bugfixes and minor changes made to the plugin too which can be read about on the GitHub Readme.

To download the plugin we recommend clicking on the green <>Code button on the GitHub page and choosing Download Zip. You can then browse to the install/1.5.6.2 folder. Copy the three .dll files into the Plugins folder in your SDR# directory. Then open SDR#, go to the main hamburger menu -> plugins -> RTL_433.

RTL433 Plugin for SDR# Updated
RTL433 Plugin for SDR# Updated

Tech Minds: Demonstrating RTL_433 Running on ESP32 Devices

Earlier in the month we posted about how rtl_433 has been ported to ESP32 devices that are combined with CC1101 or SC127X transceiver chips, such as the low cost LILYGO LoRa 32 boards available on Aliexpress.

Over on YouTube Matt from the Tech Minds channel has uploaded a video showing how to set up rtl_433 on an ESP32 device, and how to set it up with a home automation service like Home Assistant, Node Red or OpenHAB via an MQTT broker.

RTL 433 ON ESP32 DEVICE - MQTT HOME ASSISTANT

rtl_433 ported to ESP32 microcontrollers with CC1101 or SX127X Transceiver Chips

Receiving wireless sensors operating in the unlicensed ISM band has been made almost universal with rtl_433 and RTL-SDRs. However, recently rtl_433 has been ported over for use on ESP32 microcontrollers that are combined with CC1101 or SC127X transceiver chips.

PCB boards that combine these two chips can be found cheaply on Aliexpress as LoRa boards, under the name "LILYGO LoRa 32". If you are unaware, ESP32 chips cheaply combine a WiFi and Bluetooth modem with a microcontroller that is capable of hosting a webserver. CC1101 and SC127X are low cost low power hardware transceiver chips made for IOT devices. We've posted about LILYGO boards in the past as they've been used with interesting projects such as Meshtastic, and for weather balloon tracking.

This project could be useful for home automation as a module has been made available for openMQTTGateway. Instead of dedicating a more powerful Raspberry Pi and RTL-SDR, you can now dedicate a much cheaper and much lower power device to the task. 

[Also seen on Hackaday.]

RTL_433 running on a LILYGO LoRa V2 Board
RTL_433 running on a LILYGO LoRa V2 Board

TechMinds: Testing the ISM Packet Decoder Plugin for SDR Sharp

Over on the TechMinds YouTube channel Matt has uploaded a video demonstrating the use of the ISM Packet Decoder plugin for SDR# which was released a few months ago. The plugin authors website also contains more information about the installation and features of plugin.

The plugin makes use of the well known rtl_433 software behind the scenes, which is a command line based RTL-SDR compatible decoder for various wireless ISM band devices such as weather stations, car keys, tire pressure sensors, doorbells and various other remote controlled devices. The plugin GUI makes using and displaying data from rtl_433 much more convenient.

ISM Packet Decoder Plugin For SDR Sharp - RTL 433

Browser Based Weather Station Graphs via RTL-SDR, rtl_433 and Dash.plotly

Thank you to Gerrit Polder who has submitted his project where he has used an RTL-SDR and the rtl_433 decoder running on a Raspberry Pi, along with some custom software to create a browser based dashboard for his wireless weather station

Gerrit's weather station wirelessly displays data on a wirelessly connected LCD screen, but he notes how difficult it is to view historical data, or to graph trends. Having discovered that the rtl_433 RTL-SDR decoder supports his particular weather station (a Fine Offset Electronics WH1080/WH3080 compatible Weather Station (Alecto WS-4000)), Gerrit decided to write some code to log data to a SQL database, and display that data via a Python Dash.plotly web interface. The RTL-SDR, rtl_433 and custom software all run on a Raspberry Pi.

The interface allows Gerrit to view live and historical data all on neatly plotted graphs. HIs complete open source code can be found on Github.

Dash.pltly based weatherstation with data received by RTL-SDR and rtl_433

Graphing Data from a Weather Station via RTL-SDR and Home Assistant

Over on YouTube user mostlychris has uploaded a helpful tutorial video show how to use an RTL-SDR to collect data coming from a personal weather station and graph it on the home automation software known as Home Assistant.

To do this he uses an RTL-SDR on a Raspberry Pi running rtl_433 which receives and decodes the weather station data. He then configures rtl_433 to output data in the MQTT protocol which Home Assistant can receive and understand.  Finally he configures Home Assistant to plot the received data. The tutorial is comprehensive covering every step required from start to finish.

Take charge of your own Ambient weather data with Raspberry Pi, MQTT, and Home Assistant.