← all posts
Fri 23 Oct 2026 · 3 min read

Review: Zigbee 24G mmWave Radar Presence Motion Sensor

The radar-based presence sensor I was using in my office died1, and I saw a cheap option while browsing AliExpress for some other bits for an upcoming project.

A small white pill-shaped sensor on a wooden table, with a grey icon of a walking figure and radar waves on its face, a pinhole near the bottom and a small hole in the end.

The MS01, in what looks like the same case as my IR blaster

What It Is

It’s sold on AliExpress as a “Zigbee 24G mmWave Radar Presence Motion Sensor”, and reports itself as a zbeacon MS01. It’s listed at about £11, but with AliExpress discounts I paid £5. The listing promises Tuya and Zigbee2MQTT support, and the specs go as far as saying it doesn’t support ZHA2.

Pairing with ZHA

It paired instantly anyway, and ZHA created everything the device actually offers:

  • an occupancy sensor (motion device class)
  • battery percentage, with the voltage as an attribute
  • identify and firmware-update entities

No quirk needed. It only uses standard Zigbee clusters: presence comes through an IAS Zone alarm bit, and the battery through the power cluster.

The Catch: No Settings at All

My first assumption was that ZHA was missing a quirk, because mmWave sensors usually come with sensitivity, detection distance and hold time controls. Not this one. There’s no Tuya 0xEF00 cluster, so there’s nothing for a quirk to expose. A Zigbee2MQTT pull request for it lists the same short set: occupancy, battery, low battery and identify3. The listing never claims any settings either, and one review tag sums it up: “no calibration options”.

What’s Inside

The reason is the hardware. A Home Assistant community member took one apart and found two boards: a Zigbee chip, and a separate 24 GHz radar module that it only reads as a simple occupied/clear output. All the radar’s tuning sits behind a hidden serial port: per-zone motion and still-person thresholds (0–2 m, 2–5 m, 5–10 m), hold time and trigger count. With a 3.3 V USB-serial adapter and some AT-style commands you can change them, and the settings survive a battery swap.

The same post comes with a warning, though. Even after tuning, most of the author’s six units still ghosted (triggered with nobody there), five ended up out of their automations, and they wouldn’t trust one alone to turn lights on at night.

Pros and Cons

The Good

  • Cheap: £5 with the new-customer discount
  • Paired with ZHA instantly, with no quirk needed
  • Runs on AAA batteries, so it should last a lot longer than the sensors that run on coin cells
  • Unlike a PIR sensor, it can pick up people sitting still

The Not So Good

  • Nothing to configure: no sensitivity, distance or hold-time settings over Zigbee
  • Tuning means opening the case and using a serial adapter
  • Other people report false triggers, even after tuning

Final Thoughts

For £5 it’s fine as a secondary presence signal, for example combined with a door or PIR sensor, or with a hold time added in a Home Assistant automation. If you want to tune detection from the app or from Home Assistant, buy a Tuya mmWave sensor that exposes its settings over Zigbee instead, and check that the exact model is supported first, because Tuya reuses names across different hardware.

I’ll update this once it’s had it use for a while and set up some automations with it.


  1. I have since learnt that it’s not dead, my USB power supply was “kinda” dead, things would light up when plugged in but would fail when drawing any current. ↩︎

  2. It turns out that’s wrong, at least for this one. ↩︎

  3. The pull request was closed without being merged, so check Zigbee2MQTT’s device list before relying on it there. ↩︎

search.exe
esc to close