LD2410 esphome tips

I’ve got it working with GitHub - rain931215/ESPHome-LD2410: ESPHome LD2410 mmWave Radar Sensor Custom Component on a nodemcu2 8266. But only when i changed the TX and RX to
RX = GPIO13 and TX=GPIO15
like cmille34 · GitHub
explained here : All sensors are "Unknown" after compilation and upload · Issue #5 · rain931215/ESPHome-LD2410 · GitHub :

uart:
  id: uart1
  tx_pin: GPIO15 #TX
  rx_pin: GPIO13 #RX
3 Likes

See Andreas’s video on the sensor and associated configuration/engineering tools: 24GHz Radar Presence Detector that Works (LD2410) - YouTube

Also, see the data sheet for the detail on range, etc: https://github.com/ESPresense/ESPresense/files/9189632/HLK-LD2410.user.manual.V1.02.pdf

And the software: HLK-LD2410-24G - 资料下载 - 海凌科电子

1 Like

Just got the new LD2410C-P with easier to work headers!

Btw is that at the bottom left a LED? If it is it’s not turning on, but the sensor is working ok so far…

I see you are also using D1 mini (v3.0). I have version 4.0. I can’t get data with this script. When debugging UART, I get data on both TX/RX and GPIO15/GPIO15 pins. However, the entities still remain “unknown”.
The sensor, when connected to USB using the manufacturer’s tool, works correctly.

Any advice what I might be doing wrong?

I get data on both TX/RX and GPIO15/GPIO15 pins

I am assuming you are using GPIO15 & GPIO13?? For both of the setups, I used what the op has provided (RX & TX pins). Have already tried these pins and it didn’t work for you??

uart:
  id: uart1
  tx_pin: TX
  rx_pin: RX
  baud_rate: 256000 
  parity: NONE
  stop_bits: 1
  debug:
    direction: BOTH
    dummy_receiver: false
    after:
      delimiter: [0xF8,0xF7,0xF6,0xF5]

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