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

If you used default module configuration it will be like this. You have to change it’s sensitivity and threshold for each of the range distance “sectors” to adjust it for your particular room. I have one in toilet as well for 2 months and finally after many years of PIR sensor whole family is happy as the lights never goes off when you sit longer. Only if you try to be still and hold your breath for more then 10 seconds eventually lights goes off and immediately when start breathing it goes on.
So from my prospective this sensor is super perfect.

2 Likes

I have 3 of them. The only one I have managed to set up properly never missus a beat. The other 2 are 90% reliable but just need another tweak or 2 before they are perfect. Once the sensitivity is set they are great little sensors.

This is from a translated version of the HLK pdf for the LD2410 about materials used as a “radome”.

5.5 Installation conditions
 Confirm the minimum installation clearance
If the radar needs to be installed with a casing, the casing must have good wave-transmitting
properties at 24GHz, and cannot contain metal materials or materials that have a shielding effect on
electromagnetic waves.  Installation environment requirements
This product needs to be installed in a suitable environment. If it is used in the following
environments, the detection effect will be affected: • There are non-human objects that are continuously moving in the sensing area, such as animals, continuously swinging curtains, large green plants facing the air outlet, etc. • There is a large area of strong reflectors in the sensing area, and the strong reflectors will cause
interference to the radar antenna. • When installing on the wall, external interference factors such as air conditioners and electric
fans on the top of the room need to be considered.  Precautions during installation
• Try to ensure that the radar antenna is facing the area to be detected, and the surrounding area of
the antenna is open and unobstructed
• To ensure that the installation position of the sensor is firm and stable, the shaking of the radar
itself will affect the detection effect. • To ensure there is no movement or vibration on the back of the radar. Due to the penetrating
nature of radar waves, the back lobe of the antenna signal may detect moving objects behind the
radar. A metal shield or metal backplane can be used to shield the radar back lobe and reduce the
impact of objects on the back of the radar • The theoretical distance accuracy of radar is the result obtained through special algorithm
processing on the basis of the physical resolution of 0.75 meters. Due to the difference in the size, state, and RCS of the target, the target distance accuracy will fluctuate; at the same time, the longest
distance will also fluctuate.
8. Radome design guidelines
8.1 Effects of radomes on mm wave sensor performance
• Radar waves are reflected on the radome boundary
• Losses in total radar radiated or received power • The reflected wave enters the receiving channel, affecting the isolation between the
transmitting and receiving channels
• Reflections may degrade the standing wave of the antenna, further affecting the antenna gain
• Radar waves will suffer loss when propagated in the medium. In theory, the higher the
frequency, the greater the loss will be
• Electromagnetic waves undergo a certain degree of refraction as they pass through a medium
• Affects the antenna’s radiation pattern, which in turn affects the sensor’s.

Download the pdf and use google pdf translate and it will translate everything except info which are in pictures.
Just found a line with the english version of the LD2410 manual:

LD2410 Info in English (Mostly)

Latest firmware update to 2.04 for LD2410 supports photosensitivity (in built illumination sensor). Check in engineer mode in Android app (v1.1.7) after LD2410 update.

1 Like

Can you please let me know what do you use as trigger for automations? Do you use just the occupancy or any of the energies/distances?

Thanks

After some test I decided to not use “full” communication from sensor. I only use OUT PIN which indicates both occupancy and moving detected. And I use app to test and setup ranges afterwards only OUT pin.
I have shared some of my setup here: LD2410 esphome tips - #61 by Maco65
There are some more info which may be relevant to you on that thread.

I am using this code now after using the code in this post for a while.

The ESPhome code has a still and movement detection sensor and and overall detection sensor which I guess is both sensors combined. I use the combined sensor for triggers.

Guys i seem unable to properly configure it. Even if set the sensitivity for all the distances/bands to 5 (which is very low) when i stay still (breathing) it goes to unocuppied.

In my automation i use the Static Energy sensor as a trigger and it triggers when it falls below 6. I also have a condition that the occupancy needs to be “Clear”. What happens, is that usually, when the static energy goes below 5 the occupancy turns to clear and therefore it triggers the automation and meets the condition so the lights turn off even if i am lying on my bed browsing the internet on my laptop. Because i am using the static energy, i believe that the sensitivity in the app does not matter. It is only used to determine if the occupancy is Clear or Detected.

When i am not in the room, the Static Energy is 3 - 4 like in the below picture so i cannot set the sensitivity below 5 as the sensor will only show: Occuppied:

image

Also, if i set the sensitivity too low, it picks movement from outside of the room which is not desired.

  • I am using the LD2410B and i have it connected to HA via the LD2410 BLE integration and a bluetooth proxy.
  • The sensor is used in the bedroom and i am expecting it to detect presense at breathing level.
  • I have tried to reduce the distance and set up the sensitivity levels multiple times with no success.
  • The placement of the sensor is diagonal to the bed. That means, that the detection distance fluctuate a lot. If there is a slightest movement on the feet, the distance changes to about 130 cm. If there is slight movement with the arms it fluctuates between 1.5 and 2.3 meters. Maybe this is a problem.

If anyone can share the process they folowed to calibrate it i would be greatful.

For reference, here is my automation:

alias: Master Bedroom - Handle Lights On Motion
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.hlk_ld2410b_1d13_static_target_energy
    above: 50
    id: Bedroom Occupied
# Here i am using a helper to turn the lights off regardless if i am in the room or not at a certain time
  - platform: time
    at: input_datetime.bedroom_auto_lights_off
    id: Time trigger
  - platform: numeric_state
    entity_id: sensor.hlk_ld2410b_1d13_static_target_energy
    below: 6
    id: Bedroom Empty
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: Bedroom Occupied
        sequence:
# I use 2 lights in the room. The one below is a WLED LED strip
          - device_id: f9a466c154098d0f378adac8a6cf2cc9
            domain: select
            entity_id: select.master_bedroom_led_preset
            type: select_option
            option: Warm Light
# This one is a dump lamp in a smart plug
          - type: turn_on
            device_id: 6b4816ffd6c0ba41f7a96caf577f7c7d
            entity_id: switch.bedled_local
            domain: switch
      - conditions:
          - condition: trigger
            id: Bedroom Empty
# here is the condition to check if the occupancy is "Clear"
          - condition: state
            entity_id: binary_sensor.hlk_ld2410b_1d13_occupancy
            state: "off"
        sequence:
          - type: turn_off
            device_id: f9a466c154098d0f378adac8a6cf2cc9
            entity_id: light.master_bedroom_led
            domain: light
          - type: turn_off
            device_id: 6b4816ffd6c0ba41f7a96caf577f7c7d
            entity_id: switch.bedled_local
            domain: switch
      - conditions:
          - condition: trigger
            id: Time trigger
        sequence:
          - type: turn_off
            device_id: f9a466c154098d0f378adac8a6cf2cc9
            entity_id: light.master_bedroom_led
            domain: light
          - type: turn_off
            device_id: 6b4816ffd6c0ba41f7a96caf577f7c7d
            entity_id: switch.bedled_local
            domain: switch
mode: restart

Thanks

Interesting, how is the firmware updated when not using their app? is this something only available for the bluetooth version?

I think so.

Those two sensors in Home Assistant are not giving a clear picture of what the LD2410 “sees”. The device has static and moving energy readings across 8 “gates”, and you have to adjust the move and static energy thresholds on each individual gate (using the app). Home Assistant, as far as I’m aware, does not give you access to the per-gate readings, much less the ability to adjust the individual thresholds.

This video from Andreas Spiess shows how to go about doing this using the Windows/USB version of the app.

I think it does, but only if you connect sensor to HA via BLE (per-gate energy values are hidden by default). ESPHome is not there yet…

The esphome code I linked above allows you to adjust each gate for still and moving. But does not allow you to see the gate readings. For me it was bit of experimentation based on using the app on the first sensor and as said I am nearly there with the other 2. Once the values are set I run them for the time we are i the room and take a mental note of when we leave and see what the sensors have recorded in that time. This is not helped by the dog just wandering around whe he feels like it. The living room sensor gave solid occupancy readings last night so looking good.

1 Like

Hello,
can someone provide me his yaml for a HLK-LD2410 connected to a Wemos d1 mini? Unfortunately the Wemos crashes with the script from the second post.

Gladly with a configurable web interface

Thanks!

Hello, where can I download the last android app? thanks

Link 4 app is here.

2 Likes

If you have any apple device, ios version of app is luckily in english. Now i use app on my ipad for configuring.
And, only one connection can be established at a time. If you have sensor connected to HA via original BLE integration you won’t be able to connect to it with app ( and vice versa). In this case reboot the module to drop current connection.
In any case, i decided to use sensor either standalone or, if i’ll plan to use it with HA i’ll connect it with esphome card. BLE is too unreliable, afrer HA reset sometimes doesn’t reconnect, occasionally drops connection… i guess that BT in the sensor is quite poor.

1 Like

There’s also an updated android version that’s mostly translated.
The update will automatically be downloaded after you open and leave the old version alone for awhile.

You mean v1.1.7? On my phone it’s still completely in Chinese. I begin to wonder if this is related to phone’s native language… mine is in Slovenian, and i guess that since app can’t find english in phone it stays in chinese.
The problem is that i can’t “force” app to be in english (it’s not on “app languages” list)

I just discovered something. My S23+ is set to the Polish language and the application starts in Chinese. When I change the Android system language to English (US), the application starts in English.

3 Likes