mmWave Presence Detection - ESPHome style

Yeah, the FP1 looks like it’s going to be quite pricey too…
I hope it’s super super accurate!

Lol. It will be super accurate at triggering on the dust particles floating in the air :wink: /s

1 Like

I don’t know about 24Ghz, but 60Ghz is being used to detect breathing and heart rate. Hopefully the fact that Ripple is open sourced ( GitHub - CTA-Ripple/Ripple-v.0: open radar API standard to enable hardware / software interoperability and accelerate the growth of applications of general purpose consumer radar ) means 60GHz kit should start coming down in price.

1 Like

I don’t think the sensor is all that expensive. You can buy it today.

But as we all know. The software implementation makes or breaks it. And buying it today means you or me bumbling though it :slight_smile:

1 Like

Great project! I wonder if this would work through glass? Might be good to out inside a TV/AV cabinet pointed at the sofa.

@crlogic cool project… Love it.

Just FYI for those looking for RCWL-0516 replacement. I am also looking for RCWL-0516 replacement. Here is what I end up with. It consume about 70uA.

Here is my 2 months experience with it. Surprising, it is good. It can penetrate barrier like glass. But, it is not much. I am doing Arrival sensor and use this sensor. My goal is to detect whether someone enter my car. I could use 4 reed contact sensor and wire it. This module give me very close to what 4 contact sensors would be functioning. I have a video there when I approach my car. The sensor does not really detect me until I am about 1 to 2 inch from the car.

1 Like

I just tested through double pane, low-E, glass and the answer is; no (disclaimer: you got a ten second test with no attempt to improve).


Thanks - interesting given how sensitive it sounds like it is. I’ll probably still pick one up just to experiment with. Thanks for the writeup!

An update.

Since the first deployment worked so well, I assembled a second SEN0395 to test as a bed occupancy sensor while sleeping. I broke out the multimeter this time and noticed that while it is a 5V sensor, the GPIO are 3.3V. Therefore I was able to dispense with the line level shifter and configure it via UART successfully so that it catches the bed without any surrounding area.

After a single nights test, and with no accompanying PIR, it detected contiguous presence for the duration of the night. And the 45 second cooldown configured worked perfectly in the morning as I got up and walked away.


I have been researching into this mmWave technology and its quite impressive. Was about to buy this mmWave SEN0395 device as it looks to be much better than the RCWL-0516 i have.

I was interested in mobile.andrew.jones’s question. I found a paper that says the EU and US regulations are phasing out the 24GHz band in favour of the 60GHz. This started in 2018 and:

As of Jan. 1, 2022, the 24-GHz UWB will no longer be allowed for industrial use in
both Europe and the United States

This seems the reason for the aqara device using 60GHz.I know this si for industrial use, but i can only assume other uses will follow suit. It seems that 60GHz is slightly better, with “16 times the available bandwidth once the regulations take effect”. So that seem good

I also wonder if 24GHz would interfere with other devices going forward. So, i may wait for a 60GHz mmWave device to be released. Seems the first time playing with esphome and sensors i have hit the bleeding edge tech, so will wait and see what comes out :smiley: . Still tempted to get this 24Ghz device anyway to play.



What does “slightly better” mean??

From a use-case perspective, the 2nd sensor I have deployed as a bed occupancy device has three nights of testing. In those three nights, it has only missed us for a total of three seconds; lol.

I was more going for that they changed the regulations and glad its not worse :slight_smile:

I see there are a few different types of 24Ghz mmwave sensors on aliexpress. Is the DFRobot SEN0395 better or what you happened to use? I am supper impressed that this tech detects such small movements. so it detects small movements like you breathing while asleep?

I dont want to purchase an inferiour sensor, nor do i want to pay more than i need to. Then i can buy more :smiley:

Are these all the same kind of thing? Happy to buy some random sensors for less than £2, but when we are in the £20-30 i need to be more careful

ahh roger that.

Don’t overlook Digikey/Mouser. The DFRobot link is only $3 cheaper than what I paid and Digikey normally arrives in 2 days :slight_smile:

The DFRobot is my first experience w/ mmWave. I searched digikey, found a sensor that was available, a good price, had a datasheet and wiki.


Yes I agree. And would caution against buying anything that you might not be able to build. So a datasheet is needed at minimum. Understanding how to communicate is typically the next challenge. And tuning options are helpful such as occupied to unoccupied delay. That parameter alone often makes or breaks a product decision.

What also attracted me to the DFRobot is that binary GPIO is all that is needed. UART is optional. Unclear about the other sensors linked. If UART parsing is needed then that is potentially more challenging for some. I have no developer experience. So byte arrays scare me :o


Thank for the reply. I have purchased 2 of the modules and its magic. I never thought a western supplier could compete with aliexpress. Those 2 you recommended had high shipping (with me being in the uk) But then i found a uk supplier pimoroni which had them on offer for £17. Free postage over £30 so I bought 2 which arrived the next day :slight_smile:

I see you have used uart. Is this just for seeing what data it returns or is it needed for calibration. I have just used the GPIO pin and it works as a binary sensor. Not tested it much, but wondered if i need to mess around with uart. I only as as i am using a D1 mini, so an esp8266 which doesnt have hardware support for uart and falls back to software. I havnt heard of it either, so would require some research

Note that this regulation change only affects UWB (ultrawide band) operation in the 24GHz spectrum. Narrow band operation is not affected. UWB type bandwidths are typically used by much more expensive mmWave detectors that create point clouds and very fine ranging data. Like these mmWave body scanners you find at airports or automotive ranging systems. The presence detection modules we’re talking about here, which basically just return a binary state, will work fine on 24GHz narrow band mode and won’t be affected by the regulation changes.

1 Like

UART is completely optional.

My first build was GPIO only while I struggled with the ESPHome UART code.

UART lets you change detection distance. So if you want to tune the detect distance, you don’t need it after that. You could trigger from a specific point in a hallway as an example.

You also get detection delay. From 25ms up :wink:

To confirm - have any of you successfully implemented these in your homes? How has it functioned?

Next mmWave project arrived today! RFBeam K-LD2

It does not detect static motion. Out of the box it provides approaching or receding detection and will report off when just standing still (like a PIR).

Hallway WLED effects + movement direction here we come!


@crlogic do you know if the DFRobot chip can be connected directly to an esp8266 board? I’m curious to tinker with this but my experience with esphome is limited to cameras and other multi sensors that I was able to find guides for.

The FP1 is sweet but if I can build my own that would be even better. Thanks!

The DFRobot is 3.3V GPIO/UART so a direct connection is fine. As long as you have a 5V source to power it.

I did my second build this way.

And the full yaml posted will get ya going. So if you can flash an MCU (eg ESPHome flasher) you are all set!