rtl_433 is a software-defined radio receiver that decodes transmissions from wireless devices operating on ISM bands including 433.92 MHz, 868 MHz, 315 MHz, 345 MHz, and 915 MHz.
The tool solves the problem of capturing and interpreting radio signals from consumer IoT devices, weather stations, and sensors that broadcast on unlicensed frequencies. It works by interfacing with software-defined radio hardware such as RTL-SDR dongles, LimeSDR, PlutoSDR, and HackRF One through either the RTL-SDR or SoapySDR driver frameworks. The receiver can decode dozens of device types, with users able to enable or disable specific decoders, analyze pulse patterns, and save raw signal data for offline processing.
The tool suits hobbyists and developers working with home automation, weather monitoring, or IoT projects who have compatible SDR hardware. Its portable C99 codebase with minimal dependencies runs on Linux, FreeBSD, macOS, and Windows across multiple CPU architectures including ARM variants, making it suitable for embedded systems and single-board computers. The project provides straightforward command-line configuration for frequency selection, sample rates, output formats including JSON and MQTT, and timestamps. Users can contribute support for new device types by following the contribution guidelines.
The project maintains active support for multiple hardware platforms with engineering samples provided by hardware manufacturers. Development includes regular testing across different SDR devices and architectures. The codebase prioritizes compatibility with older compilers and toolchains as an explicit goal. The maintainers acknowledge security limitations in the current implementation, noting that file operations lack validation checks and the tool should not be run with elevated privileges.