mmWave Wars: one sensor (module) to rule them all

It’s unrealistic to expect the same performance for 10‰ of the price. It is performing extremely well for a 4$ sensor but it also requires a lot of tweaking

1 Like

I changed the max moving distance and the max still distance and it seems way better! I will try to compare it with my dfrobot, both placed on the ceiling, and see how it works in a few days!

Is there a 230V version of a mmwave sensor? Like the normal PIR? Without ESPHOME or HA!? Connect a 230V Bulb to the sensor and it works?

Looks cool, do you have some more info,
What PIR
would you be kind and share your code for the ESP32?

It’s sensor with ESP32, LD2410, BH1750 and BME280. I don’t use PIR in this project. PIR case is just BH1750 in such case. I can share code when tests on whole multisensor will be finished. Still testing and trying to work with temp sensor to be more accurate.

Hello. I am looking at your LD2410 code. The GPIO5 pin goes to the out on the LD2410 sensor??
human-presence-radar-ld2410-respiration-and-heartbeat-monitoring-non-contact-induction-sensor-robotics-bangladesh

Still in shipping. Just Aliexpress things… :slight_smile:

Yeah i did (swap it around etc.) and got another D1 mini board, but it stil doesn’t work. I had already ordered some more LD’s so when they arive i will test those to see if i can pinpoint the problem.

I was not getting uart info from my 2410 either on a D1 mini while using the TX/RX pins on the D1 mini. I swapped over to using different GPIO pins and then I was able to get the uart info in esphome. Oddly enough, I am having trouble with the output pin. It always outputs high, I can’t get the pin to ever to go low.
Below is my uart section for esphome in case you are curious, maybe it helps you.

uart:
  id: uart1
  rx_pin: GPIO13 #(D7)
  tx_pin: GPIO15  #(D8)
  baud_rate: 256000
  data_bits: 8
  stop_bits: 1
  parity: NONE

Good luck!

1 Like

Maybe look into pull-up /pull-down pins.

Affirm (min chars needed)

Can you re share this? I only got the Chinese version from them

Thanks to the info in this thread I have built a sensor case with a HLK-2410 and several other sensors. I have been using and testing the case for some weeks now and I just uploaded the files for printing with instructions for assembling on Printables.
Perhaps this will be useful for somebody here.

2 Likes

Based on the version from @crlogic here, I’ve started a own version of ld2410.h. It now allows to set the per gate sensitivity. I’m new to ESPHome components and also C++ is not my native language, so I’m interested to get feedback.
@crlogic I hope this is ok - if so I push it to github.

1 Like

Go for it! I deliberately simplified and understand that it may not be for everyone :slight_smile:

2 Likes

Great - I’ve concentrated on exploring the API of the sensor, the documentation has its challenges. At least there is some API documentation :slight_smile: - I’ve created a new repo at GitHub - amandel/esphome-ld2410: Implementation of a HLK-LD2410 component for ESPHome

3 Likes

Did you manage to get your out pin to go low ? mine also seems to be stuck in high, im using a nodemcu32 board.

hi @crlogic. Wondering if you would be willing to let me pick your brain and experience for a few minutes!
Using your config files, I’ve been testing the DFRobot mmWave sensor (HS2A43A) in a ceiling position. Practically no false positives, great detection speed, etc. Next to it, I have been using an Aqara FP1 which also works great, tho it’s a bit slower to detect.

Current settings for HS2A43A — Ceiling position at 2.5m height

A few days ago I received the bigger POV model HS2BC3A so I proceeded to solder and configure it as my previous sensor, the HS2A43A.

The challenge I’m facing is if I try to use the exact same settings, mostly referring to distance with a value of 3,45 then I get the sensor to detect movement even if it doesn’t seem anything to be moving.

After playing around with sensitivity and distance I noticed that the main culprit seems to be the distance one. I lowered it down to about 2,20M and now seems to work okay, meaning I don’t get false positives.

Current settings for HS2BC3A — Ceiling position at 2.5m height

However, here’s the main problem: lowering the distance value also lowers a lot the detection area which was the main feature of this sensor. Do you have any experience or comments about what’s happening here and if there’s a way to “fix it”?

Thanks a lot!

My output pin does appear to be working now finally! I’m not sure exactly why or how it started working but on my D1 mini I have the output pin soldered to GPIO14 / D5. Below is the my ESPHome code for the output pin that is working, maybe something in it helps you?

  - platform: gpio
    id: MovOcc_gpio  
    pin:
      number: GPIO14
      mode:
        input: true
        pullup: true    
    name: "mmWave Pin"
    filters:
      - delayed_on: 10ms    
    device_class: occupancy  

To ensure I understand correctly; when you do nothing but swap sensors and retain settings, you experience a positive detection notification when you perceive you shouldn’t?

This sounds like a case of, greater detection area means more potential movement sources. Or interference… …there’s always that.

The first step I take these days when troubleshooting is to enable show_target_stats. Then you will at least have a very rough idea how far away to look.

Don’t just look at one direction either, “behind” the sensor can be seen as well. And both sides. The worst thing to do is assume that radio waves follow peoples expectation to go in one direction.

Additional troubleshooting steps include removing the sensor from the location it is in, in addition to any enclosure. Yup, best bet is to place it in the middle of a large room, no enclosure and prove for yourself that you can visually see in all directions at all distances that no physical object is moving. Don’t expect walls to be a guarantee to stop or reflect. We’ve had all sorts of reports so the biggest hill to climb is challenging assumptions and proving things out.

Once you have eliminated all potential influences including what you couldn’t see behind the ceiling, enclosure and reflections, you can take systematic steps to move, re-install, re-configure as needed.

A couple other random thoughts:

  1. 2.5M ceiling but 3.45M distance means that you might be getting reflections
  2. Sensitivity 9 is VERY touchy especially as close distance. So if there is something in the ceiling moving, or people above shifting the ceiling (old building?) you will have to lower this.

While I have a single 100x100 sensor for testing. I have come to realize over the months is that I think I prefer “many narrow detection sensors” to “fewer wide-area detection sensors”. I have cats, lol.

1 Like