Ambient Radio Weather Network (arwn)
Collect 433 MHz weather sensor data and publish to MQTT.
Designed to work with an RFXCOM USB receiver or an RTL-SDR dongle, publishing sensor readings over MQTT so they can be consumed by other software such as Home Assistant.
Hardware Requirements
You will need a Linux system (a Raspberry Pi 3 or later is sufficient) and a 433 MHz receiver:
- RTL-SDR dongle (~$25 on Amazon) — recommended default. Requires rtl_433 installed separately.
- RFXCOM receiver — more expensive, narrower sensor support, better hardware error correction. All supporting software is bundled.
Installation
Install rtl_433 (RTL-SDR users only)
Follow the rtl_433 installation instructions. On Debian/Ubuntu a package is available:
sudo apt-get install rtl-433
Install arwn
pip install arwn
Configuration
Copy config.yml.sample to config.yml and edit:
collector:
type: rtl433 # or rfxcom
# device: /dev/ttyUSB0 # rfxcom only
mqtt:
server: 192.168.1.x
# username: user
# password: pass
# Optional: Weather Underground reporting
wunderground:
user: your@email.com
station: KXXYYY123
passwd: yourpassword
# Map hardware sensor IDs to friendly names.
# IDs survive battery changes when named here.
# An "Outside" sensor is required for Weather Underground.
names:
"ae:01": Outside
"e9:00": Living Room
Running as a systemd service (recommended)
Install and enable the systemd user service:
arwn-install-service --config ~/.config/arwn/config.yml
The service will start immediately, start at boot, and restart automatically on
failure. No sudo required.
To check status:
systemctl --user status arwn
journalctl --user -u arwn -f
RFXCOM USB access
If using an RFXCOM receiver, add yourself to the dialout group (one-time):
sudo usermod -aG dialout $USER
Log out and back in for the change to take effect, then re-run
arwn-install-service.
Running manually
arwn-collect -f --config config.yml
Development
See CONTRIBUTING.md and AGENTS.md.
License
Apache 2.0 — see LICENSE.
Credits
Sean Dague
Metadata
Release files for arwn 3.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arwn-3.0.0.tar.gz | 129.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arwn-3.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 159.2 kB
Release files / arwn-3.0.0.tar.gz
| Download URL | arwn-3.0.0.tar.gz |
|---|---|
| Size | 129.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
226d0c67b94e5313cd6e43940231bec77fde8208c75f0d900c45158699825fc0
|
|
BLAKE2b-256 checksum How to use checksums |
6ad57af7c340b03adbfbe20bfd6178ef7e06afe6f03e8f85de1fdd1b88c7e6e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 25, 2026.
Transparency logRelease files / arwn-3.0.0-py3-none-any.whl
| Download URL | arwn-3.0.0-py3-none-any.whl |
|---|---|
| Size | 30.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ea9f86afc5220a4fcc5812d87b7dd95f7806f33385bb381f46d83b77161ab418
|
|
BLAKE2b-256 checksum How to use checksums |
113f93fb8968bbfc7a5d42a1fbada024c747d25750ca3dc4e8247ea7206c01ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 25, 2026.
Transparency log