Search results for: rtl_433

RTL-SDR 433: A New Android App for Decoding 433 MHz Sensors with rtl_433

Thank you to Christian Ebner from ebcTech, who has submitted news about his newly released Android app RTL-SDR 433, which lets you run the rtl_433 decoder directly on your phone using an RTL-SDR dongle connected via a USB OTG cable.

The app bundles rtl_433 as a native Android library and supports all 258 device protocols out of the box, including weather stations, TPMS, wireless doorbells, PIR motion sensors, energy meters, door/window contacts, and remote sockets. Decoding runs entirely on-device with no internet connection required, no root, and no special drivers. It uses the standard Android USB Host API together with a libusb Android port.

The UI is built with Jetpack Compose and Material 3, and shows a live list of unique sensors with expandable cards (temperature, pressure, RSSI, raw JSON) plus a full history log. The app is free to try with a decreasing per-session reading limit, and a one-time purchase for a few dollars removes the limit permanently.

We note that the GPL-licensed native layer (rtl_433, rtl-sdr, libusb Android port and EBC's integration glue) is published openly at github.com/ebc81/rtlsdr433-native-gpl in compliance with GPL-2.0, while the UI layer remains closed-source. 

More information about the app is available on the ebcTech page at https://ebctech.eu/rtl-sdr-433-android.

RTL SDR 433 for Android

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

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

Testing Tire Pressure Monitoring System Sensors with RTL-SDR and rtl_433

Thank you to Ross for writing in and sharing with an articles that he's written about testing Tire Pressure Monitoring System (TPMS) sensors using an RTL-SDR and the rtl_433 decoder.

TPMS is a system installed on many modern cars (or retrofitted on older cars) that wirelessly monitors the tire pressure on vehicles in order to provide dashboard information that can improve safety and fuel economy. TPMS system typically transmit on license free bands, such as 315 MHz which can easily be received with an RTL-SDR.

Ross owns a 2008 Toyota Tacoma which has a built in TPMS system. Unfortunately he found that one of his sensors was broken as the TPMS warning light was consistently on, despite knowing that his tire pressure was correct.

Instead of purchasing an expensive TPMS diagnostic tool, Ross broke out his RTL-SDR and fired up rtl_433 which already contains a ready to use TPMS decoder. From the data received, Ross was able to determine that only three sensors were transmitting. Ross then goes on to use the RSSI signal power strength measurements provided by the rtl_433 output, while moving the antenna next to each wheel to determine exactly which wheel had the faulty sensor.

Ross's post goes into further details about his setup and the data he received from the sensors. He also created a follow up post, describing a bash script he wrote to automate the process.

TPMS Data Received

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

Exploring 433 MHz Devices in the Neighborhood with RTL-SDR and rtl_433

Over on his YouTube channel CWNE88 has posted how he has been using and RTL-SDR with the rtl_433 software to explore the data coming in from various 433 MHz ISM band devices in his neighborhood. In the video he explains how he has set up rtl_433 on his Raspberry Pi, and what sort of data he is receiving. Some examples of devices he's received include various weather stations, doorbells, remotes and car tyre pressure monitors.

He also mentions how these signals are unencrypted, noting that in a future video he will show on GNU Radio how a false signal could be synthesized.

Decoding 433 MHz Devices With SDR

Using CubicSDR, rtl_433, MQTT and Telegraf to Stream Live Data to InfluxDB

Nimrod makes his own sourdough and wanted a way to track the temperature and humidity of the bread making environment. To do this he's set up a system involving rtl_433 on a Raspberry Pi which live streams all of his home temperature/humidity sensor data into InfluxDB. The program rtl_433 is software for the RTL-SDR that allows users to receive data from many different brands of home weather/temperature sensors, as well as many other wireless ISM band devices. InfluxDB is a type of database that specializes in storing and displaying time series data from sources like sensors.

The chain of data starts with rtl_433 which collects the temperature sensor data via an RTL-SDR. The output of rtl_433 is sent to Mosquitto, an MQTT messaging protocol server. A program called Telegraf then subscribes to the MQTT queue, and parses and transmits the metrics to InfluxDB. InfluxDB finally records the data, and provides graphical plots. 

Nimrod's post is a full tutorial showing how to download and set up each of the programs used in the system, and how to view the data collected with InfluxDBs graphing system.

RTL_433 temperature graphs via InfluxDB
RTL_433 temperature graphs via InfluxDB