LD2420 24GHz mmWave Radar Sensor

Component Copy link to header

The ld2420 sensor platform allows you to use the HLK-LD2420 motion and presence sensor. The UART is required to be set up in your configuration for this sensor to work.

Depending on the firmware you have serial baudrates will be 256000 for any module with less than firmware v1.5.3 and 115200 on newer versions. The tx_pin changed from ot2 to ot1 with firmware v1.5.3. Firmware v1.5.4 and up now features the ability to observe gate energy signal levels and with this release we can dynamically calibrate gate still and move thresholds.

This component has dynamic configuration functionallity with a compact UI format. Select, number and button components provide configuration value inputs and control.

Module Pinouts Copy link to header

Firmware 1.5.2 and older Copy link to header

Pin#NameFunction
13v3VCC
2GNDGND
3OT1Presence Signal Output
4RXSerial Rx (to ESP Tx)
5OT2Serial Tx (to ESP Rx)

Firmware 1.5.3 and newer Copy link to header

Pin#NameFunction
13v3VCC
2GNDGND
3OT1Serial Tx (to ESP Rx)
4RXSerial Rx (to ESP Tx)
5OT2Presence Signal Output
# Example configuration entry
ld2420:

text_sensor:
  - platform: ld2420
    fw_version:
      name: LD2420 Firmware

sensor:
  - platform: ld2420
    moving_distance:
      name : Moving Distance

binary_sensor:
  - platform: ld2420
    has_target:
      name: Presence

select:
  - platform: ld2420
    operating_mode:
      name: Operating Mode

number:
  - platform: ld2420
    presence_timeout:
      name: Detection Presence Timeout
    min_gate_distance:
      name: Detection Gate Minimum
    max_gate_distance:
      name: Detection Gate Maximum
    # See "Number" section below for detail
    gate_select:
      name: Select Gate to Set
    still_threshold:
      name: Set Still Threshold Value
    move_threshold:
      name: Set Move Threshold Value

button:
  - platform: ld2420
    apply_config:
      name: Apply Config
    factory_reset:
      name: Factory Reset
    restart_module:
      name: Restart Module
    revert_config:
      name: Undo Edits

Platform Copy link to header

ld2420:

Configuration variables: Copy link to header

ld2420 (Required): Component platform.

Select Copy link to header

Operating Modes:

select:
  - platform: ld2420
    operating_mode:
      name: Operating Mode

The dynamic UI provides three operational modes: Normal, Calibrate and Simple. The select component allows you to choose the active mode.

  • Normal: This is the default mode. It sets the ld2420 in energy reporting mode and is availble with firmware v1.5.4 or greater. When in this mode the module logs all gate energy levels continuously in a local array making it available for dynamic calibration functions.

  • Calibrate: When calibration mode is selected the module will collect the average and peak energy levels, reporting them every five seconds. The report is provided in the log console for information only. In order to calibrate the gate configuration, no objects should be present in the target environment. The recording will establish the mmWave noise floor levels and undesirable reflections or signal distortions peaks. This should be collected for at least 30 seconds. Longer runs can catch more potential false signals when devices near the module are used such as microwave ovens and other sources of noise.

    When the apply_config button is pressed in calibration mode the LD2420 will be configured with calculated values based on its collected noise floor data and the module will return to Normal Mode. Selecting any other mode drops the session’s collected noise data and no changed settings are staged. Once the apply_config action is performed, the computed values will then persist. The gate values can be manually adjusted or calibrated again or you can use the factory reset button to restore the module’s default settings.

  • Simple: Provides backward compatibility with firmware v1.5.3 and older and will be automatically set when the detected firmware version is v1.5.3 or older.

Configuration variables: Copy link to header

  • operating_mode (Required): Provisions the operating mode select component. May contain any options from Select.

Number Copy link to header

number:
  - platform: ld2420
    presence_timeout:
      name: Detection Presence Timeout
    min_gate_distance:
      name: Detection Gate Minimum
    max_gate_distance:
      name: Detection Gate Maximum

    gate_select:
      name: Select Gate to Set
    still_threshold:
      name: Set Still Threshold Value
    move_threshold:
      name: Set Move Threshold Value

    gate_move_sensitivity:
      name: Move Calibration Sensitivity Factor
    gate_still_sensitivity:
      name: Still Calibration Sensitivity Factor

    gate_0:
      move_threshold:
        name: Gate 0 Move Threshold
      still_threshold:
        name: Gate 0 Still Threshold
    gate_1:
      move_threshold:
        name: Gate 1 Move Threshold
      still_threshold:
        name: Gate 1 Still Threshold

Configuration variables: Copy link to header

  • presence_timeout (Optional): The time in seconds during which the occupied state (presence) will persist after presence is no longer detected. Any energy detection within the time window restarts the countdown from this value. Defaults to 120s. Required when min_gate_distance and max_gate_distance is specified. May contain any options from Number.

  • min_gate_distance (Optional): Minimum distance for move or still energy detection. Value between 0 and max_gate_distance - 1. Each increment equals 70 cm. Defaults to 1. Required when presence_timeout and max_gate_distance is specified. May contain any options from Number.

  • max_gate_distance (Optional): Maximum gate for movement detection. Value from 1 to 15. Each gate detects movement and still energy at 70 cm increments. At the maximum value, the sensor’s range equates to 16 * 70 cm resulting in an approximately 12-meter range; however, accuracy at this range may be diminished. The recommended maximum value is 12 * 70 cm which results in approximately 9 meters. Required when presence_timeout and min_gate_distance is specified. May contain any options from Number.

  • gate_still_sensitivity (Optional): Gate still threshold calibration sensitivity factor. Defaults to 0.5 with a range of 0-1, 0 = high and 1 = low. May contain any options from Number.

  • gate_move_sensitivity (Optional): Gate move threshold calibration sensitivity factor. Defaults to 0.5 with a range of 0-1, 0 = high and 1 = low. May contain any options from Number.

  • gate_select (Optional): Selection of gate value to edit (gate # from 0 to 15). Gate thresholds are edited by selecting the gate number and then adjusting the move and still thresholds. Note that when this variable is defined, the component will run in compact UI mode and the following two configuration variables are then required: May contain any options from Number.

    • still_threshold (Optional): Gate still value threshold level for motion energy detection on a currently selected gate number. A value greater than that specified for the gate (distance) will trigger movement detection. May contain any options from Number.
    • move_threshold (Optional): Gate move value threshold level for still energy detection on a currently selected gate number. A value less than that specified for the gate (distance) will trigger still detection. May contain any options from Number.
  • gate_n (Optional): Provides individual gate threshold number inputs. Range is gate_0 to gate_15. May not be used with gate_select (above). Each gate entry requires a still_threshold and move_threshold:

    • still_threshold (Required for each gate_n entry): Gate still value threshold level for motion energy detection on currently selected gate number. A value greater than that specified for the gate (distance) will trigger movement detection. May contain any options from Number.
    • move_threshold (Required for each gate_n entry): Gate move value threshold level for still energy detection on currently selected gate number. A value less than that specified for the gate (distance) will trigger still detection. May contain any options from Number.

Button Copy link to header

button:
  - platform: ld2420
    apply_config:
      name: Apply Config
    factory_reset:
      name: Factory Reset
    restart_module:
      name: Restart Module
    revert_config:
      name: Undo Edits

Four button components are available enabling configuration controls for editing, saving, restarting and factory reseting the LD2420 module.

Configuration variables: Copy link to header

  • apply_config (Optional): Saves both manual config tuning or the auto calibrate still and move threshold config settings. May contain any options from Button.
  • restart_module (Optional): Reboots the LD2420 modules. May contain any options from Button.
  • revert_config (Optional): Undoes in-progress edits prior to their application via the apply_config button. May contain any options from Button.
  • factory_reset (Optional): Restores a base set of LD2420 configuration values. May contain any options from Button.

Factory Reset Values: Copy link to header

Setting:Value:
Timeout120s
Min Gate Distance1
Max Gate Distance12
Gate Number:Move thresholdStill threshold
06000040000
13000020000
2400200
3300250
4250150
5250150
6250150
7250150
8300150
9250150
10250150
11250150
12250100
13200100
14200100
15200100

Sensor Copy link to header

The ld2420 sensor allows you to use your LD2420 24GHz mmWave Radar Sensor to approximate the distance between the sensor and an object moving within its field of detection.

sensor:
  - platform: ld2420
    moving_distance:
      name : Moving Distance

Configuration variables: Copy link to header

  • moving_distance (Optional): Distance between the sensor and the detected moving target. May contain any options from Sensor.

Binary Sensor Copy link to header

The ld2420 binary sensor allows you to use your LD2420 24GHz mmWave Radar Sensor to sense presence.

binary_sensor:
  - platform: ld2420
    has_target:
      name: Presence

Configuration variables: Copy link to header

  • has_target (Optional): If a target is detected with either still or in movement has_target will be set true for the duration of the presence_time_window setting. May contain any options from Binary Sensor.

Text Sensor Copy link to header

The ld2420 text sensor provides version information for the LD2420 24GHz mmWave Radar Sensor.

text_sensor:
  - platform: ld2420
    fw_version:
      name: LD2420 Firmware

Configuration variables: Copy link to header

Important Information Copy link to header

Solid objects and noise outside the detection_gate_max and detection_gate_min may cause false detections or result in abnormal gate thresholds. For example, a wall within the gate max range can result in signal reflections. If your sensor reports unexpected detections, you should test it by placing it in a completely open room with no moving objects.

Also, never place two or more sensors in a manner such that their detection fields overlap, as this will certainly result in false detections.

Firmware update capability is available using the LD2420 tool provided by HLKTech. You will need to email them and request the bin file. At this time only firmware version v1.5.6 and up can be upgraded. DO NOT attempt to update to older firmware versions. It will brick the module.

See Also Copy link to header

  • Official Datasheet/Manuals are still in development; for info email sales@hlktech.com.
  • Official web site https://www.hlktech.net/
CURRENT