From Mike Wogden on the mailing list, 16 May 2026 10:58 UTC
I have a wireless weather station in my garden that send temp, wind speed and direction along with rainfall to a display via wireless using 433 MHz. I can use a RTL dongle connected to my PC , windows or Linux to view the data, along with other sensors in my area such as car tyre pressures.
I want to build a system that takes the data and records it in a web portal for instant readings along with history data. I have a spare Raspberry Pi 4 that can do most of the heavy lifting.
Adding my requirements into Claude AI. I get the following response:
Great project! Here's a full breakdown of how to set this up.
*System Overview*
*Stack:* RTL-SDR → rtl_433 → MQTT → InfluxDB → Grafana (web portal)
This is the most reliable, battle-tested pipeline for exactly this use case.
*What You Need*
*Hardware you have:*
* Raspberry Pi 4
* RTL-SDR dongle
* Wireless weather station (transmitting on 433MHz or 868MHz)
*Software to install (all free):*
* rtl_433 — decodes the radio signals
* Mosquitto — MQTT broker (message bus)
* InfluxDB — time-series database for storing readings
* Grafana — beautiful web dashboard with history
*Step-by-Step Setup*
*1. Install RTL-SDR drivers & rtl_433*
bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y rtl-sdr librtlsdr-dev cmake git build-essential
# Install rtl_433
git clone https://github.com/merbanan/rtl_433.git
cd rtl_433
mkdir build && cd build
cmake ..
make -j4
sudo make install
*Test your dongle and find your station:*
bash
rtl_433 -A # auto-detect, shows all received signals
Let it run for a minute — your weather station should appear with its model name.
*2. Install Mosquitto (MQTT broker)*
bash
sudo apt install -y mosquitto mosquitto-clients
sudo systemctl enable mosquitto
sudo systemctl start mosquitto
*3. Install InfluxDB 2.x*
bash
curl https://repos.influxdata.com/influxdata-archive.key | sudo apt-key add -
echo "deb https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdata.list
sudo apt update && sudo apt install influxdb2
sudo systemctl enable influxdb
sudo systemctl start influxdb
Then set it up via browser at http://<pi-ip>:8086 — create an org, bucket called weather, and generate an API token.
*4. Bridge rtl_433 → MQTT → InfluxDB*
*Run rtl_433 publishing to MQTT:*
bash
rtl_433 -F "mqtt://localhost:1883,retain=0,devices=rtl433/devices[/model][/id]"
*Install Telegraf* to forward MQTT → InfluxDB:
bash
sudo apt install telegraf
Edit /etc/telegraf/telegraf.conf:
toml
[[inputs.mqtt_consumer]]
servers = ["tcp://localhost:1883"]
topics = ["rtl433/devices/#"]
data_format = "json"
[[outputs.influxdb_v2]]
urls = ["http://localhost:8086"]
token = "YOUR_INFLUXDB_TOKEN"
organization = "YOUR_ORG"
bucket = "weather"
bash
sudo systemctl enable telegraf
sudo systemctl start telegraf
*5. Install Grafana (Web Portal)*
bash
sudo apt install -y apt-transport-https software-properties-common
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt update && sudo apt install grafana
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
Access at http://<pi-ip>:3000 (default login: admin/admin)
* Add InfluxDB as a data source
* Create dashboards for temperature, humidity, pressure, wind, rain
* Grafana handles *live data + full history* out of the box
*6. Auto-start rtl_433 as a service*
Create /etc/systemd/system/rtl433.service:
ini
[Unit]
Description=RTL433 to MQTT
After=mosquitto.service
[Service]
ExecStart=/usr/local/bin/rtl_433 -F "mqtt://localhost:1883,retain=0,devices=rtl433/devices[/model][/id]"
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
bash
sudo systemctl enable rtl433
sudo systemctl start rtl433
*Architecture Summary*
Weather Station (433MHz)
↓ RF signal
RTL-SDR Dongle
↓
rtl_433
↓ JSON over MQTT
Mosquitto broker
↓
Telegraf
↓ line protocol
InfluxDB 2
↓ query
Grafana
↓ browser
Your Web Portal 🌐
*Tips*
* *Find your station's frequency:* Run rtl_433 -A and look for the model — most consumer weather stations use 433.92MHz
* *Multiple sensors:* rtl_433 auto-detects them all; filter by device ID in Grafana
* *Remote access:* Install Nginx as a reverse proxy so you can access Grafana from outside your network
* *Grafana alerts:* Set up notifications (email/Telegram) if temperature goes below freezing, etc.
Want me to generate a specific Grafana dashboard config, a Nginx reverse proxy setup, or a custom Python script for any part of this pipeline?
------------------------------------------------
I’m happy creating the PI with an OS and installing RTL-433 and able to display the data using the terminal.
I lose my way with reference to Mosquitto, InfluxDB, Telegraf and Grafana
Has anyone done a similar thing that can provide me some guidance or point towards further study material that could help me understand.
Other AI engines propose usinh Home Assistance but again this is an unknown area for me.
I hope someone can halp.
73 Mike G4KXQ
Content by MailingList, posted before the current terms