Racks & WattsLOCAL HARDWARE / CLEAR PICKS

Home Assistant

Pull 433 MHz weather sensors into Home Assistant with a USB SDR and rtl_433

Turn a USB SDR into a local receiver for 433 MHz and 915 MHz weather sensors, then feed their readings into Home Assistant through rtl_433 and MQTT.

OUR PICKS / YOUR SETUP

Find your fit.

Choose the RTL-SDR Blog V3 kit for its dipole antenna set, the Nooelec NESDR SMArt v5 for a sturdy aluminium SMA receiver, or the NESDR Mini 2+ for the smallest stick. Check your sensor is on the rtl_433 list first.

  • Antenna kit includedRTL-SDR Blog V3 kit
  • Aluminium SMA receiverNESDR SMArt v5
  • Smallest stickNESDR Mini 2+

How we evaluate hardware.

YOUR NEXT PROJECT / THE GEAR

Parts list

  • RTL-SDR Blog V3 with dipole antenna kit

    R860 tuner, 1 PPM TCXO and a dipole kit with mounts for better antenna placement.

    Check price on Amazon
  • Nooelec NESDR SMArt v5 bundle

    0.5 PPM TCXO and SMA input in an aluminium enclosure with a heatsink.

    Check price on Amazon
  • Nooelec NESDR Mini 2+ receiver set

    Compact R820T2 receiver with 0.5 PPM TCXO, antenna, mount and MCX-to-SMA adapter.

    Check price on Amazon

That cheap wireless thermometer on the porch is already broadcasting its readings every few seconds. So is the rain gauge, and probably the neighbour’s weather station. A USB software-defined radio (SDR) and the open-source rtl_433 decoder catch those broadcasts and turn them into Home Assistant sensors, with no vendor hub.

Choose the RTL-SDR Blog V3 kit if you want a proper dipole antenna set in the box. Choose the Nooelec NESDR SMArt v5 for a sturdy aluminium receiver with an SMA connector. Choose the NESDR Mini 2+ for the smallest stick. Before you buy anything, check that your sensor’s model is on rtl_433’s supported list.

Specs come from the makers; setup follows the rtl_433 project and Home Assistant’s MQTT docs.

Check your sensor first

rtl_433 is a generic data receiver, mainly for the 433.92 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz bands. It decodes a long list of devices: weather stations, temperature sensors, rain gauges and plenty more.

The list is the deal-breaker. If your sensor’s model isn’t on it, rtl_433 won’t decode it, however good the antenna. Look up the model on the sensor’s label, find it in the supported devices list and note the frequency.

Would you rather skip the radio tinkering? A weather station with its own local gateway is the plug-and-play route: see the Ecowitt guide. For indoor rooms, the temperature sensor guide covers Zigbee and Bluetooth options.

Pick the receiver

All three use the RTL2832U chip that rtl_433 is built for, with a temperature-compensated oscillator (TCXO) so tuning stays steady while the stick warms up.

RTL-SDR Blog V3 kit: the one with the antenna set. The V3 uses the R860 (R820T2) tuner, a 1 PPM TCXO, an SMA connector and an aluminium case with passive cooling. It adds a switchable bias tee for powering active antennas. The kit’s dipole comes with mounts and an extension cable, so you can put the antenna somewhere better than behind the server.

Nooelec NESDR SMArt v5: the sturdy SMA receiver. The SMArt v5 pairs the R820T2/R860 tuner with a 0.5 PPM TCXO and a female SMA input, inside a black brushed-aluminium enclosure with an integrated heatsink. Nooelec designed it to sit comfortably next to other devices, including a Raspberry Pi.

Nooelec NESDR Mini 2+: the smallest stick. The Mini 2+ uses an R820T2 tuner, covers roughly 25 MHz to 1,750 MHz and has a female MCX connector on the stick. The set includes an antenna, a magnetic mount and an MCX-to-SMA adapter.

RTL-SDR Blog V3 kit NESDR SMArt v5 NESDR Mini 2+
Tuner R860 (R820T2) R820T2/R860 R820T2
TCXO 1 PPM 0.5 PPM 0.5 PPM
Antenna connector SMA SMA MCX (SMA adapter included)
Case Aluminium Aluminium with heatsink Compact stick
Best fit Antenna kit in the box Sturdy everyday receiver Smallest footprint

How the pieces fit together

  1. The SDR listens on your sensor’s frequency.
  2. rtl_433 decodes what it hears and publishes the readings to MQTT.
  3. Home Assistant’s MQTT integration (Local Push) turns them into entities, using MQTT discovery so you don’t write sensor YAML by hand.

On Home Assistant OS, the easiest route is the community rtl_433 apps repository. It has an rtl_433 app that runs the decoder and an rtl_433 MQTT Auto Discovery app that creates the HA devices. These are community projects, not official Home Assistant apps.

Expect to hear the neighbourhood. The SDR decodes every compatible transmitter in range. Limit rtl_433 to the protocol your sensor uses, and ignore extra devices in HA.

Set it up

  1. Install an MQTT broker. Install the official Mosquitto broker app and set up the MQTT integration under Settings → Devices & services. The auto-discovery app finds Mosquitto automatically.
  2. Plug in the SDR. Use a USB extension so the antenna sits away from the computer. Running HA in a Proxmox VM? Pass the stick through.
  3. Add the repository. In the app store, open the menu, choose Repositories and add https://github.com/pbkhrv/rtl_433-hass-addons. Install rtl_433 and rtl_433 MQTT Auto Discovery.
  4. Start rtl_433 once. It creates a default configuration in /config/rtl_433/. Edit it to set your frequency explicitly (for example frequency 433.92M) and add a protocol line with your sensor’s protocol number from the rtl_433 list. Restart the app.
  5. Start auto-discovery. Your sensor should appear as an MQTT device. Rename it and add it to a dashboard.

Automation: frost warning

alias: Garden - frost warning
triggers:
  - trigger: numeric_state
    entity_id: sensor.your_outdoor_temperature
    below: 2
    for:
      minutes: 10
actions:
  - action: persistent_notification.create
    data:
      notification_id: frost_warning
      title: Frost tonight
      message: >
        Outside is {{ states('sensor.your_outdoor_temperature') }} °C.
        Cover the tender plants and bring in the hose.
mode: single

Swap in your sensor’s entity. The 10-minute delay stops one odd reading from setting it off, and the fixed notification ID updates one card instead of stacking duplicates.

Test it

  1. Watch the radio traffic. Open the MQTT integration’s Configure page, listen to the topic rtl_433/#, and wait for a message that includes your sensor’s model.
  2. Test the alert. Open Developer tools → States, set your temperature sensor to 1.5, and temporarily change the delay to seconds: 10. The Frost tonight card should appear. The next real reading puts the true value back. Restore 10 minutes.

The short version: check that your sensor is on the rtl_433 list, then pick the V3 kit for the antenna set, the SMArt v5 for a sturdy SMA receiver or the Mini 2+ for the smallest stick. More local projects live on the Home Assistant hub.

For a different use of the radio, our Pi 5 aircraft receiver guide pairs an SDR with a dedicated 1090 MHz antenna and readsb. Use a separate receiver to keep both projects running at once.

Choose the antenna for the sensor’s band: our RTL-SDR receiver and antenna picks separate 433 MHz, 915 MHz and aircraft reception.

Sources & methodology

Where these facts come from.

Source dates are listed above.

As an Amazon Associate I earn from qualifying purchases.

YOUR NEXT PROJECT / THE GEAR

Parts list

  • RTL-SDR Blog V3 with dipole antenna kit

    R860 tuner, 1 PPM TCXO and a dipole kit with mounts for better antenna placement.

    Check price on Amazon
  • Nooelec NESDR SMArt v5 bundle

    0.5 PPM TCXO and SMA input in an aluminium enclosure with a heatsink.

    Check price on Amazon
  • Nooelec NESDR Mini 2+ receiver set

    Compact R820T2 receiver with 0.5 PPM TCXO, antenna, mount and MCX-to-SMA adapter.

    Check price on Amazon

Prepared by Racks & Watts.