mmWave human presence for under $20?!

Hi Crlogic, it is nice to receive your quick response!

Five main differences between the new version and the old one, the new one has:

  1. lower price, lite version only costs $6.9 while the old version costs $19.90
  2. shortened detection range, some problems caused by unconfigurable huge detection range can be solved
  3. more parameter modulation options, multiple underlying parameters are open and configurable now, that’s the key to making it meet the needs of various scenarios
  4. Visual debugging and configuration tools : we make the interface more clear and user-friendly
  5. Home Assistant support, this part is what we want to highlight most, we already released an ESPHome integration wiki but we will keep devoting more to enriching its relative resources, the power of community is what we value most, we will keep outputing more demos and tutorials to help get started.

I attached the product link here:

1 Like

Hi! Fans do bring some difficulty to the precise detection of mmWave, the size of the fans and speed of fans will make the problem even pickier. We are trying to eliminate the interference of fans by improving algorithms to realize customized recognition, but there is still no good solution yet. So currently, you can try adjusting the angle to avoid it.

We are looking for some experienced makers in the community and some smart home-related YouTubers to make some demos so that you can have more examples for reference.


Looking forward to that solution
Do you also have link for the lite version on your taobao seedstudio shop?

It will be in stock in our Taobao this week, I do not have the link yet. Will ping you if I get any updates.

1 Like

Wow… $7 is insane.
If these are UART then we can only mount two of them per ESP, right?

I was thinking of building something that has 360 degree field.

Hi Hellis81! I’m sorry that you can only mount one per ESP. It is a nice try to build something with a 360-degree field, but I am afraid that you have to choose two MCUs, you can consider XIAO ESP32C3 as a microcontroller since it has a thump size so two of them will not look clumsy maybe.

But we could use S1 and S2. That means two pins per 60 or 90 degrees of field.
That is doable. But obviously not as good.
I will probably get a few and see if I get good enough results with S1 and S2.
I just need a binary output as I see it now. I don’t need distance, speed and all that.

1 Like

I’ve been following this thread for a while now and of course before I even thought about how I might make it work, I purchased one of the 60 Ghz Fall Detection sensors from Seeed. After quite a bit of tinkering I’ve managed to make it work reliably in Home Assistant.

I know it’s a bit off-topic but since the 60 Ghz sensor has been mentioned above several times, I thought I would share my results.


This looks awesome! I’ve done a similar thing with a laser distance sensor, but haven’t gotten around to making the code presentable to upload. I actually think you’re on a good track with MQTT. But rather than static YAML, use Home Assistant’s MQTT discovery.

This sounds fancy and complicated, but it’s really just this: whenever you connect or reconnect, write to MQTT topic homeassistant/binary_sensor/DEVICEID/config, with a simple JSON payload describing the device (basically the same as in the sensor YAML) and the MQTT topic to watch for state.

For DEVICEID, use something like mmwave60- + WiFi.macAddress().substring(8) — that’ll automatically give each device its own unique ID so you don’t need to hard-code anything.

This is great! thanks. I had to change it to just /sensor/ as binary_sensor, unless I’m mistaken, can’t handle more than just on/off type state messages and this sensor has several states of motion and presence, which is one of the cool things about it but also means it falls out of the usual motion sensor device class.

You should be able to use “binary_sensor” for the primary state — Occupancy clear or detected— and then have attributes for the rest.

Or, you could create multiple sensors for the different things, of course.

That’s a good point, I’ll try that, what I need to figure out, and this gives me a reason to :slight_smile: is how to make this into a proper device, as of now it only shows up as an entity. If I am to do multiple sensors for the 3 classes of binary_sensor data it produces (6 states) it will be nice to have them under one device. I tried to find how to do that but I must be missing something obvious

1 Like

Thanks so much @mattdm for all the tips and hints, I haven’t updated the git repo yet, still testing, but I have the Device and 3 sensors now showing “properly” in Home Assistant and no longer need the configuration.yaml lines.

I still have a lot of code cleanup but this is good for testing, and I’m keeping the retain flag false for the config messages so I can reload HA and just clear out anything that’s been created via MQTT Discovery while I’m testing

1 Like

Cool! Glad to help, especially because I’m probably going taken advantage of your work in the future for myself. Hoping to have something for the stairway motion light which responds faster and also does not get fooled by the cat…

I have… a lot! of cats in my house lol when I put this in play, I’ll let you know how it does. There is one right now in fact, who just chills at the end of my bed and often sets off the simple GPIO pull-down sensor (yes/no) status of the DFRobot mmWave. So I too am very curious if I can use this and its various reporting states to “filter” her out. And also for accurate sleep presence of course.

1 Like

Hi Serena
I ordered a few of the 24GHz lite sensors and the Xiao ESP32-C3’s and have built the presence sensor as in the Seeed Studio tutorial (integration with Home Assistant). One of the problems I have observed is that after an initial power on, the ESP32 works fine (can see the logs wirelessly and HA sees it in ESP home, etc) but the 24GHz sensor does not show up. All the sensor values are greyed out. Sometimes after multiple power off/on cycles it shows up. What seems to work is, if I disconnect and connect power only to the mmWave radar (not the ESP32), then it starts working. This is not a workable solution in realtife. What could be going on? Looks like some power-on sequencing needs to happen with the mmWave radar.
Do the mmWave sensors need a firmware update? If so, how does one do it in the field?
And BTW, I also have other Seeed 60GHz and 24GHz sensors and they don’t suffer from this problem.



Thanks Duncan and @mattdm for your tips, code and inspiration on the 60GHz mmWave radar sensors integration with Home Assistant via MQ. I like the loose coupling approach.
I’ve tested it using Duncan’s latest code and approach and it works reasonably well for presence detection (~2 Meters).
What I really want to do with this sensor is to measure HR and RR, so I’m in the process of using parts of the Seeed supplied libraries into your code to get HR & RR detection working with HA. No luck yet (my coding skills are bad), but will continue to work on it and report progress.

1 Like

@Wijayw If you’re using the MR60BHA1 (heart / breath) sensor module on an ESP MCU… try out this new code I just uploaded for direct Home Assistant integration using ESPHome. I’ve been having a lot of fun adding as many sensors as I can to this and it even has a couple useful buttons so you can restart the ESP or reset the radar module. I’ll add more detail later.

1 Like

Thanks Duncan. Yes, I am using the MR60BHA1. Will try your code and report.

1 Like

Hi @DuncanIdahoCT,
Many thanks for your integration code for the MR60BHA1 with Home Assistant. It works like a charm. I’m using the XIAO ESP32-C3 as the microcontroller. Presence and activity measurements work fine. Although the detection range of this particular sensor is only about 2m.
The Heart Rate (HR) measurement is a bit hit and miss, especially over long periods and at high rates. I’ve not seen it measure HR above 90.
Respiratory Rate (RR) or breathing rate seems alright.
I’m testing it under various conditions, distances, materials to see what its optimal working parameters are.
It would be interesting to get @SerenaLiang0320 's perspective on the sensor’s limits.
Thanks once again.