LD2410 esphome tips

my UART configuration looks like this (TX/RX):

[11:20:30][C][logger:236]:   Hardware UART: UART0
[11:20:30][C][uart.arduino_esp8266:102]: UART Bus:
[11:20:30][C][uart.arduino_esp8266:103]:   TX Pin: GPIO1
[11:20:30][C][uart.arduino_esp8266:104]:   RX Pin: GPIO3
[11:20:30][C][uart.arduino_esp8266:106]:   RX Buffer Size: 256
[11:20:30][C][uart.arduino_esp8266:108]:   Baud Rate: 256000 baud
[11:20:30][C][uart.arduino_esp8266:109]:   Data Bits: 8
[11:20:30][C][uart.arduino_esp8266:110]:   Parity: NONE
[11:20:30][C][uart.arduino_esp8266:111]:   Stop bits: 1
[11:20:30][C][uart.arduino_esp8266:113]:   Using hardware serial interface.

I also tried on the configuration on the GPIO15/GPIO13 pins. Then I was getting the same data when debugging the UART protocol.

The problem is that the entities don’t show any data :frowning:

Actually the data you see does not look like the data that a LD2410 typically sends, you should see groups of 0xF4 0xF3 0xF2 0xF1 and 0xF8 0xF7 0xF6 0xF5.

I’m having the same problem. Did you find any solution on this ?

I waa having this problem the other day. It’s my first ESP32 project so quite noob on electronics.

I had 2 problems:

  1. I wasn’t using the correct RX and TX pins. If you use the default ones, you need to disable the logger setting baud_rate: 0 as a logger property. If you want to use the others, you need to check for your specific board datasheet and find the correct pins
  2. I’m so noob that I didn’t notice that the RX and TX pins are a loop, so the RX pin of the sensor goes to the TX pin of the board and viceversa.

As soon as I did that, the entities were not showing as Unknown anymore.

Today I managed to solve my problem.
Thanks to @amandel’s answer, I understood that there must be something wrong with the LD2410 module. I reconnected it to the PC via the USB converter and tried to read the data using the manufacturer’s program. LD2410 is dead … I prepared a new piece and it works without any problems, both on the TX / RX and D7 / D8 pins.

@Hitesh_Singh - try connecting a new LD2410, soft is OK. Or try to read the data from the old one using the UART/USB converter and the manufacturer’s program (LD2410 Tool). If the old one works with the PC, you have a problem with the electrical/signal connections.

2 Likes

Managed to install this nice sensor in my home. It is controlling the light in toilet (where sometimes you “stay” with little movements for longer time - not detected by typical PIR sensor) and at this point is connected only with OUT pin to ESP8266.
To connect to pins I used JST GH 1,25 mm 5 PIN connector:


Before mounting in final case (I used broken PIR sensor case) I taped it in the place where it will be, connected to laptop and tested/changed sensors ranges setting so it covers “no-moving” sitting person.
Then put into box, close it and start “live testing” period - ongoing… :wink:

While testing, it was also working connected with UART (Tx - GPIO01, Rx - GPIO03) but I decided that it seem too complex for this particular need. I was also concerned about load it generated for ESP. Once official ESPHome support will be available I may reconsider.

Interesting! Does this have the same specs (angle/range) as the ‘normal’ 2410?

I just released a small box to hold this module together with a D1 mini.
It uses the JST connector to hold the module in place and you can rotate it horizontally.
You can find it on thingiverse

12 Likes

honestly I have no idea but the datasheet they link to seems the same (even uses the old photo)

1 Like

makes sense. Too bad! I’m looking for one with better detecting range like the SEN0395 from dfrobot but for Hi-link prices…

Now HA has an BLE integration for the LD2410. Looks like you dont need an D1 mini.
Power the thing and it gets integrated using BLE.

5 Likes

Who know, what this Setting mean?

Appeared after firmware and App update.

The new update ESPhome brought the natively supported LD2410 sensor.
Has anyone tried it, how does it work?

I have tried with an nodemcu, but no luck yet, i will try to give 5V with external Power this evening

I had it working prior to updating this morning however since I have updated it no longer connects. I tried removing the Integration and it gets discovered but when I hit submit it fails from not connecting.

So the first ld 2410 failed don’t know why, now tried to compile an ESP32, then it gives me “You’re using the same serial port for logging and the UART component. Please disable logging over the serial port by setting logger->baud_rate to 0.”

What is this?
Took the sample code from the Esphome site and just named TX and RX. I do not understand what the problem can be

Look here and you will understand

Please tell me when you sit next to him for 5 minutes is it “detected” all the time or after a few seconds it says “clear” and at the first movement it says “detected” and then “clear”?
I mean, these 5 minutes you’re standing in front of it output is 3.3 volts the whole time?

In my tests it should still indicate “detected”. It depends a lot from the settings. Remember that you can set the levels above which your sensor will detect presence, and this can be set up for each “range” separately (also separately for movement and for still presence).
I did such play connecting sensor to app and sitting still or moving with different setting - on the app you can see the sensor behaviour quite well.
Also from my experience with the right setup the sensor can sense you breathing - thus if you sit still and breathe you will be detected :slight_smile: I manage few times to force myself to really sit still and tried to minimise/“stop” breathing - this makes sensor detecting less movement energy and may lead to “clear” status - but I believe it is also possible to eliminate by changing sensitivity.
I have installed it in my toilet 2 month ago and it works very well when “sitting” there longer :wink:
Looking forward for summer when some flies or small bugs will be in hose and potentially will trigger the sensor…

1 Like

If I understand the settings correctly, the lower the number (0-100), the smaller the detection. The value 0 means that it does not detect in the zone that is set this way?