Is HLK-LD2410 24GHz mmWave Radar Sensor Compatible with Home Assistant (ESPHome)?
Electrical Specifications
Always confirm pin assignments against the manufacturer datasheet before wiring.
Compatibility Overview
The Raspberry Pi Pico W connected to the HLK-LD2410 24GHz radar module delivers precise micro-motion and still human presence tracking to Home Assistant.
Wiring HLK-LD2410 24GHz mmWave Radar Sensor to Raspberry Pi Pico W
| Module pin | Raspberry Pi Pico W | Note |
|---|---|---|
| VCC | VBUS (5V) | The module regulates its own 3.3V and its serial lines are 3.3V logic, so the Pico's pins are safe. |
| GND | GND | |
| TX | GPIO5 | UART1 RX on the Pico. |
| RX | GPIO4 | UART1 TX. |
| OUT | unconnected | A plain presence line, high when the radar sees someone. Wire it to any GPIO as a gpio binary_sensor if you want a reading that does not depend on the UART. |
Host pins are the ones the configuration on this page uses. Move a pin here and change it in the YAML — they are documented together so they cannot disagree.
Technical Specification Matrix
| Feature / Attribute | Specification / Status |
|---|---|
| Hardware Protocol | UART Serial / 3.3V |
| Bridge Required | NO |
| Border Router Needed | None |
| Hardware Capabilities & Peripherals | Radar Presence State Move Distance (cm) Still Distance (cm) Signal Energy Note: these entities come from the ESPHome configuration you flash — each one needs its matching component in that YAML before it appears. |
| Pairing Complexity | Plug-and-Play |
| Factory Reset Instruction | Hold BOOTSEL button while plugging USB cable to enter mass storage flashing. |
Wire, Flash, Adopt, Check
Wire it up
Follow the wiring table above. The Raspberry Pi Pico W pins there are the ones the configuration uses, so if you move one, change it in both places.
Flash the configuration
Create a new device in the ESPHome dashboard (the Home Assistant add-on) and paste the configuration below into it, or save it as emb_pico_w_ld2410_ha.yaml and run esphome run emb_pico_w_ld2410_ha.yaml. The first flash goes over USB. If it is not detected, hold BOOTSEL button while plugging USB cable to enter mass storage flashing to put it in download mode. Every update after that is over the air.
Adopt it in Home Assistant
Settings → Devices & Services. A node on the same network shows up as a discovered ESPHome device within a minute of joining Wi-Fi; choose Configure and enter the API encryption key from your secrets.yaml. If discovery does not find it, add the ESPHome integration by hand with the node's IP address.
Check it works
Presence turns on within a second of walking into the room and stays on while you sit still; Still Distance settles on roughly where you are. Entities at unknown with the module powered are the baud rate or TX and RX swapped.
ESPHome Configuration
Starting configuration for HLK-LD2410 24GHz mmWave Radar Sensor on Raspberry Pi Pico W. Untested on hardware — verify wiring and pins against your own board.
# ESPHome configuration for HLK-LD2410 24GHz mmWave Radar Sensor
# Host: Raspberry Pi Pico W. Pin numbers below are host-side defaults — any free
# GPIO will do, and you should change them to match your own wiring.
esphome:
name: emb_pico_w_ld2410_ha
friendly_name: "HLK-LD2410 24GHz mmWave Radar Sensor"
rp2040:
board: rpipicow
logger:
api:
encryption:
key: !secret api_encryption_key
ota:
- platform: esphome
password: !secret ota_password
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
uart:
rx_pin: GPIO5
tx_pin: GPIO4
baud_rate: 256000
ld2410:
binary_sensor:
- platform: ld2410
has_target:
name: "Presence"
has_moving_target:
name: "Moving Target"
has_still_target:
name: "Still Target"
sensor:
- platform: ld2410
moving_distance:
name: "Moving Distance"
still_distance:
name: "Still Distance"
moving_energy:
name: "Moving Energy"
still_energy:
name: "Still Energy"
detection_distance:
name: "Detection Distance"
# The tuning the HLKRadarTool phone app exposes, as entities instead.
number:
- platform: ld2410
timeout:
name: "Presence Timeout"
max_move_distance_gate:
name: "Max Moving Distance Gate"
max_still_distance_gate:
name: "Max Still Distance Gate"
Before you flash:
the !secret values come from your
secrets.yaml, and the GPIO numbers are host-side
defaults rather than properties of this part — change them to match how you actually wired it.
What Appears in Home Assistant
Presence is the one automations use. The other two say why.
Distance in centimetres and signal strength per target type.
The settings the HLKRadarTool phone app exposes, as entities. Changing them writes to the module and persists there.
Known Problems and Fixes
256000 baud
The LD2410 talks at 256000, 8N1. At 9600 or 115200 there is no garbage, just silence, and the entities sit at unknown. The uart: block in the config sets it.
The Pico's UART pins are fixed
RP2040 peripherals route to set pins: UART1 transmits on GPIO4 or GPIO8 and receives on GPIO5 or GPIO9; UART0 uses GPIO0/12/16 and GPIO1/13/17. ESPHome rejects any other pin at validation time.
First flash is a file copy
ESPHome produces a .uf2 for the Pico W. Hold BOOTSEL while plugging it in, drag the file onto the RPI-RP2 drive that appears, and the board reboots into ESPHome. Every update after that is over the air.
The phone app changes settings that stick
The LD2410B and C have Bluetooth, and the HLKRadarTool app (password HiLink) can change gates, timeout — and the baud rate. Settings changed there persist in the module. If the node stops decoding after you used the app, that is the first thing to check.
It sees through drywall
24GHz radar goes through stud walls, and a ceiling fan or a curtain in a draught counts as a moving target. Lower the maximum gates so the detection zone ends inside the room, and raise the still-energy thresholds on the gates that see the fan.
Not the LD2412 or LD2420
Those use different protocols and different ESPHome components. This component is for the LD2410, LD2410B and LD2410C.
Report a Pinout Error or Submit Tested Code Snippets
Found a pin mapping quirk or built a custom ESPHome YAML driver for HLK-LD2410 24GHz mmWave Radar Sensor? Submit a pull request or report corrections to our index.
Hardware Correction Reporter (emb-pico-w-ld2410-ha)
Frequently Asked Questions
Does HLK-LD2410 24GHz mmWave Radar Sensor work without an internet connection?
How is HLK-LD2410 24GHz mmWave Radar Sensor powered and wired to the host board?
How does the host board reach Home Assistant (ESPHome)?
Alternatives
HLK-LD2412 24GHz Presence Radar
The successor, with a wider field of view, on its own component.
HLK-LD2420 24GHz Presence Radar
Cheaper and smaller; presence and distance, fewer tuning entities.
HLK-LD2450 24GHz Multi-Target Radar
Tracks up to three targets with X/Y coordinates, for zones within a room.
HC-SR501 PIR Motion Sensor Module
A PIR: no still-presence, no wall penetration, no configuration, a fifth of the price.
Presence Sensor FP2
The finished product: mmWave presence with zones, no soldering, native to Home Assistant.