LD2410 esphome tips

I take it you mean power to the ld2410?

I dreamed of a self-powered ld2410 with a small solar panel. Alas, too power hungry.

yes, no ESP, only ld2410 + power supply with enough power.

Maybe use a Step Down Converter on your house powerline.

To have WiFi, BLE has short range, repeaters are messy, why to have so many different repeaters where WiFi has mesh already.

Yes you should have BMS. I use this for my Li-Po batteries pulled from depleted vapes:

They cut off power below 2.8V not to damage batteries and has sufficient overcharge protections. I can keep it connected to charger permanently, no probs. They charge battery, then keep cycle charging between 90-100%.

Aha…thanks. I’ll order some then. I just thought… since my intention was “battery only” device perhaps i wouldn’t need charger circuit at location and i’d just replace battey when it’s empty. But it seems it doesn’t work that way. Ok, normally i’d replace it before it’s empty, but if i forget… i guess it’s not worthy to take a chance since doing so too frequent would result in dead battery

1 Like

I wouldn’t recommend fully battery operated unit, as even without ESP, microwave sensor consumes a lot! If you need standalone sensor look for motion sensors on zigbee (sonoff for instance) they run on battery very long. Other solution is to make it to run on solar cells, but little challenging too as you have to figure out size of the panel, size of battery and multiply them to 2 for reliability, cloudy days etc…

Updated YAML to work through MQTT as my sensors might not be in the same network:

esphome:
  name: presence-sensor03
  friendly_name: Presence_Sensor03

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
#api:
#  encryption:
#    key: !secret prsensor03_enckey

ota:
  password: !secret prsensor03_ota 

wifi:
  ssid: !secret wifi_ssid2
  password: !secret wifi_password2

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Presence-Sensor03"
    password: !secret wifistereo01_fallbackpass

captive_portal:

# Example configuration entry
mqtt:
  broker: 192.168.1.20
  username: !secret mqtt_user
  password: !secret mqtt_password
  id: PR_Sensor_03

web_server:
  port: 80
  version: 2
  include_internal: true
  auth:
    username: !secret mqtt_user
    password: !secret mqtt_password

# Enable HTTP/HTTPS requests
http_request:
  # default ESPHome
  useragent: esphome/$device_name
  # request time out / default 5s
  timeout: 2s

# Example configuration entry
text_sensor:
  - platform: wifi_info
    ip_address:
      name: ESP IP Address
    ssid:
      name: ESP Connected SSID
    bssid:
      name: ESP Connected BSSID
    mac_address:
      name: ESP Mac Wifi Address
    scan_results:
      name: ESP Latest Scan Results
    dns_address:
      name: ESP DNS Address
      
status_led:
  pin:
    number: GPIO02
    inverted: true

# Example configuration entry
uart:
  tx_pin: GPIO1
  rx_pin: GPIO3
  baud_rate: 256000
  parity: NONE
  stop_bits: 1

ld2410:
  timeout: 5s
  max_move_distance : 6m
  max_still_distance: 6m
  g0_move_threshold: 10
  g0_still_threshold: 20
  g1_move_threshold: 10
  g1_still_threshold: 20
  g2_move_threshold: 20
  g2_still_threshold: 21
  g3_move_threshold: 30
  g3_still_threshold: 31
  g4_move_threshold: 40
  g4_still_threshold: 41
  g5_move_threshold: 50
  g5_still_threshold: 51
  g6_move_threshold: 60
  g6_still_threshold: 61
  g7_move_threshold: 70
  g7_still_threshold: 71
  g8_move_threshold: 80
  g8_still_threshold: 81

sensor:
  - platform: ld2410
    moving_distance:
      name : Moving Distance
    still_distance:
      name: Still Distance
    moving_energy:
      name: Move Energy
    still_energy:
      name: Still Energy
    detection_distance:
      name: Detection Distance

  - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"

  - platform: copy # Reports the WiFi signal strength in %
    source_id: wifi_signal_db
    name: "WiFi Signal Percent"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "Signal %"
    entity_category: "diagnostic"

  - platform: adc
    pin: VCC
    name: "VCC Voltage"
    accuracy_decimals: 3
    filters:
      - multiply: 1.287

binary_sensor:

  - platform: ld2410
    has_target:
      name: Presence
    has_moving_target:
      name: Moving Target
    has_still_target:
      name: Still Target

switch:
  - platform: restart
    name: "Presence Sensor Restart"

Have also added some more data to display, such as IP address and web interface.


I still run into some challenges to reconnect, some inconsistency there and only sorted out by rebooting router

UPDATE: Solved connection issues for ESP8266 by forcing it to connect using wifi 11g mode:

  on_boot:
    priority: 300
    then:
      lambda: |-
        WiFi.setPhyMode(WIFI_PHY_MODE_11G);
1 Like

Disable wifi sleep

I have similar problems with my ld2410C. Setting the thresholds in the yaml doesn’t seem to do anything. If I set all still thresholds to 0 it still turns off by an energy of < 30, which is the threshold I can see via the app. If I change these values via the app, it works.

YAML can’t reprogram default settings of the device unless you hookup 5th pin to GPIO and use different code other that the one listed in HA support page for this chip.
Refer to the following article if you want to change default settings:

YAML serves purely for HA filtering data sent by device

Are you connecting to your LD2410C using bluetooth or via an ESP32 using the UART TX/RX pins?
If you are trying to set the thresholds via YAML, you need to be using the UART TX/RX pins.
Also I have been using the dev branch of the LD2410 HA integration which has extra functionality to fully configure the LD2410 via HA so you don’t need to change the YAML or even use the app.

1 Like

I see, thank you very much. What does HA do with those numbers then?

Great, thank you! I will try this dev branch.

Hello everyone! :wave: If you’ve attempted to make your LD2410 work but faced difficulties, or for those who wants to get a ready to use and connect to Home Assistant in less than 15 seconds, I have a solution for you. I’ve assembled some LD2410C units with ESP32 and 3D printed case, and I can ship them anywhere in the world. You can find them on my wife’s website under the electronic category, or go to Lavanza HPS (Human Presence Sensor) mmWave – Aneka indo. They are shipped from Los Angeles, USA.

2 Likes

How are the temps after a few days with that case?

Does anybody know if sensor orientation (90 degrees etc) matter?

The version without Bluetooth tracking, only using mmWave, zips around at about 43F 109F at 80F room temperature

Looking at the datasheet for the LD2410 it looks like it has a slightly wider range on the vertical when mounted horizontally, but there isn’t much difference. The left side seems to be the poorest and its probably the wiring connector impacting it.
This diagram shows the range when mounted on the ceiling:

LD2410-range1
LD2410-range

Unfortunately, I can’t find a datasheet for the LD2410C which has a different form-factor so its range coverage might be slightly different.

1 Like

How is the sensor temp half the room temp?

2 Likes

Well I just did some initial testing with mine and I found it to be very sensitive in orientation differences. Here it is at 0 degrees if I rotate it by 90 I find it to be very sensitive to the horizontal plane which is not working in my case. I could lower the sensitivity but then there could be some false negative especially after gate 4. I was hoping to mount it at 90 degrees for aesthetic reasons but it’s still early on testing.