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

Check that you can see UART data being received. Without it, code can do nothing for ya :stuck_out_tongue:

Yes, if I switch on the toggle ‘show_target_stats’ on the web interface I can see data from the module, as far as I understand this info is from the UART as the other pin on the board is simply a high/low for if presence is detected?

eg, I see this;

13:38:42	[D]	[sensor:127]	
'movingTargetEnergy': Sending state 94.00000 % with 0 decimals of accuracy
13:38:42	[D]	[sensor:127]	
'stillTargetEnergy': Sending state 41.00000 % with 0 decimals of accuracy
13:38:42	[D]	[binary_sensor:036]	
'mmwave_presence_ld2410': Sending state ON

Do you have your LD2410 powered separately? - Mine is coming straight from the 5v of the ESP32.

Can you turn on UART debugging in both directions to ensure you are sending and receiving ok? There will be a response from the sensor when changing sensor values.

Not sure if anybody posted before, been busy with work. HLK just emailed me the English version of the app for LD2410B for Android

Can download it here-> WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free

Need to rename it to .apk, you will be ask to update after installation.

1 Like

Thanks for the tip, just added that to the yaml and deployed it - after deploying the webui showed the saved data from the module and when I changed settings I could see the UART commands and no errors. Then I commented the debug line deployed again, and after it came back all the settings were showing in the webui / HA as the defaults again :thinking:
I uncommented the debug line and deployed again and then it showed the saved settings again! So confused… will try and do some more digging with it tomorrow.

Hello everyone.
I’m a newcomer. Just signed up to the community to share experiences, namely regarding mmwave.
The moment I saw Andreas’ YouTube video (the guy with the Swiss accent) on the subject I got an LD2410 from Aliexpress. After a few weeks it arrived and the first impression was how small it was… and the first worry was how hard would it be to solder some wires on it. It ended up being pretty straightforward. Connected it to the laptop with the FTDI adapter, found the English version of the application and started fiddling around with all the settings and, voila, I was able to detect if there was someone on the couch (with a reasonable reliability).
From my microcontroller drawer, got a spare nodemcu (ESP8266) connected it to the LD2410 ,based on the instructions found on this thread, flashed it with the ESPhome yaml also from this post and, automagicaly all the entities were available on home assistant.
Now, the drawback, when I finally get the sensor (ESP + LD) on its final location (somehow hidden on my window rolling shutter box) I won’t be able to connect my laptop to it to change the sensitivity settings, and the sensitivity setting exposed to home assistant (one threshold for all the distances) feels a bit limited (don’t you feel the same?). Tried rain931215’s (on github) ESPhome yaml and it gives access to different distance sensitivity thresholds but I didn’t manage to get it working completely and in a stable way.
So, my options are, spend a few hours modifying the .yaml an .h code to get it working as I want or buy the Bluetooth version and adjust it in place from the Android app.
I’ve got to thank you all for the information shared on the thread.

MFM

Can you explain the function of the program? Successfully installed it on android phone. When I start it, I have Chinese characters and the loading wheel spins with them and nothing happens. I don’t have the LD 2410 B sensor yet.
Do I have to have it physically so that it is loaded using BT and then something changes in the program, including the language settings?
Thank you

Thanks so much for this, it works very well for my ld2410 on a D1 mini. My settings are configmaxdistance=3M, motion_hold=5s, sensitivity _threshold=50% and this prevents many false positives. However I find that the settings default to zero each time the D1 mini is reset, or when Homeassistant is being restarted. Is there a way to set an automation in Homeassistant to restore these settings after each reboot? I don’t know how to access the lambda functions via HA. Thanks!

@crlogic where did you find the information on the DFRobot/Leapmmw UART protocol? All the documentation I’ve been able to find is lacking quite a bit of info, and you code seems to be making use of UART commands that aren’t documented anywhere I can find. Are you able to share the UART protocol documentation?

I found the UART commands in a pdf on the docs page in the OP. Haven’t looked recently if they’ve made any changes. It seems to change here and there. If you can’t find it I’ll see what’s laying around on my laptop.

I’ve dug through all the docs on the DFRobot and Leapmmw wikis, but unfortunately none of them list the UART commands. They all reference a “user manual” document that meant to have these commands in, but for the life of me, I can’t find it.

If you could upload whatever you have (if you can find it), I would be super appreciative. My inability to find the docs has been infuriating.

Yeah it’s been there and then not at some point.

1 Like

Ordered a couple ld2410, here is the datasheets from the seller: HLK-LD2410/LD2410B - Google Drive

Edit: I saw this has been posted before, ohh never mind then. :slight_smile:

Great job!
I can’t find any information on the parameters for the LD1115H. Could you explain what those parameters mean? Like ind_max, ind_min, mov_sn, occ_sn. Also dtime doesn’t seem to be working. The box always shows a blank value and no matter what value I try to put in, it always seem to be a 30s delay.
The only “found” values shown on the debug window are th1 and th2 for some reason.
Thank you!

Here, the LD1115H sensor works well, including dtime, which I have set to 2s, but I haven’t figured out what affects the ind_max, ind_min values.
I would also be interested in this.

Did you figure it out? Mine does the same thing.

Unfortunately not, I’m guessing it’s something to do with the esphome code since I tried with the hilink tool and the sensor appears to behave correctly. But as soon as I use esphome again the behaviour seems unpredictable :pensive:

New LD2410C coming out. Different form factor, 2.54mm pitch, BT support with OTA firmware updates

Datasheet (translated)

Presale link

Edit: link updated to Google Drive

1 Like

This look interesting
US $45.95 30% Off | Yeelight Human Presence Sensor P20 Smart Home Millimeter Wave Radar High Precision Induction Motion Work With Homekit Mijia APP
https://a.aliexpress.com/_mNftJTq

Manufacturers are picking up on the idea. Wonder what mmWave sensor it has.