Reference
The Complete Guide to the HLK-LD2450 24GHz Multi-Target Tracking Radar Module
The LD2450 is Hi-Link's multi-target mmWave radar: where the already-published LD2410 only tells you someone is present, the LD2450 tracks up to three people at once with real X/Y position and speed. This guide covers its real UART protocol, wiring, and when you actually need position tracking over simple presence.
- 24 GHz FMCW radar
- Up to 3 targets
- X/Y and speed
- UART 256000 baud
The HLK-LD2450 is a 24GHz FMCW (frequency-modulated continuous-wave) millimeter-wave radar module from Shenzhen Hi-Link, the sibling of the already-published HLK-LD2410. Where the LD2410 answers a yes/no “is someone there” question, the LD2450 tracks up to three separate moving targets simultaneously, each with its own X/Y coordinate and speed, streamed continuously over UART.
The numbers in this guide come from the Hi-Link LD2450 documentation as summarised in the existing text. I could not download the Hi-Link manual for this update, so the figures are not checked against it again.
LD2410 or LD2450: which do you need?
| LD2410 | LD2450 | |
|---|---|---|
| Reports | Presence + rough distance gate, single zone | X/Y position + speed, per target, up to 3 targets |
| Best for | “Turn on the light when someone’s in the room” | “Where in the room is each person, and are they moving” |
| Output | Simple presence/distance frames | Binary coordinate frames per target, 10 frames/sec |
If you only need occupancy detection, the simpler LD2410 is cheaper and easier to integrate. Reach for the LD2450 when you need to know where someone is in a room, count multiple people, or detect direction of movement.
Specifications and Pinout
| Spec | Value |
|---|---|
| Frequency band | 24GHz–24.25GHz (FMCW) |
| Power supply | 5V DC, >200mA |
| Detection range | ~6m |
| Detection angle | ±60° |
| Data refresh rate | 10Hz (10 frames/second) |
| Max simultaneous targets | 3 |
| UART baud rate (fixed) | 256000, 1 stop bit, no parity |
| Pin | Function |
|---|---|
| VCC | 5V |
| GND | Ground |
| TX | Radar’s UART transmit → MCU RX |
| RX | Radar’s UART receive ← MCU TX |
| OT1 | Optional presence output pin (open-drain) |
Dimensions
The LD2450 is a small module with a flat antenna on one side and a 5-pin header. Its sizes differ between makers, so measure yours before you design a case. Mount it flat and still, at a height where its ±60° field covers the room, and keep metal out of the beam. The coordinates are relative to the module, so the orientation is part of your calibration.
Source: the details come from the existing text of this guide and common practice, not from a datasheet read for this update.
Wiring to an ESP32
The module needs a genuine 5V supply (not 3.3V) but its UART logic level is 3.3V-safe for direct connection to an ESP32’s hardware UART. Cross TX/RX between the two devices.
| LD2450 Pin | ESP32 Pin |
|---|---|
| VCC | 5V (VIN) |
| GND | GND |
| TX | GPIO16 (RX2) |
| RX | GPIO17 (TX2) |
Arduino code (HLK-LD2450 library by RBEGamer)
#include <HardwareSerial.h>
#include <LD2450.h>
HardwareSerial radarSerial(2);
LD2450 radar;
void setup() {
Serial.begin(115200);
radarSerial.begin(256000, SERIAL_8N1, 16, 17);
radar.begin(radarSerial);
}
void loop() {
radar.read();
for (int i = 0; i < 3; i++) {
if (radar.getTargetActive(i)) {
Serial.printf("Target %d: x=%dmm y=%dmm speed=%dcm/sn",
i, radar.getTargetX(i), radar.getTargetY(i), radar.getTargetSpeed(i));
}
}
delay(100);
}The exact method names vary slightly between the several community LD2450 libraries (RBEGamer/HLK-LD2450, darkjumpy/HLK-LD2450_Arduino_Library, Fiooodooor/HLK-LD245X all exist), check the specific library’s own examples, the wiring and 256000-baud UART protocol are the same regardless of which one you pick.
Practical Applications
- Room occupancy counting: track up to 3 people moving through a space.
- Smart lighting zones: turn on only the light near the tracked X/Y position, not the whole room.
- Fall/motion-pattern detection: speed and position data over time can flag unusual movement.
- Privacy-preserving presence: no camera involved, useful where a camera would raise privacy concerns.
Real gotchas
- It needs 5 V. The supply must give more than 200 mA. The UART levels are 3.3 V.
- The baud rate is fixed at 256000. A wrong baud rate gives garbage.
- Binary protocol. It does not send text. Use a library or parse the frames yourself, and check the frame header and tail.
- Three targets at most. More people are not tracked. Two people close together can merge into one.
- Only moving targets. The module tracks movement. A person who sits still can disappear from the list, unlike the LD2410.
- The coordinates depend on the mounting. X and Y are relative to the module, and the sign of the X axis depends on the version. Test with one person.
- Ghost targets. Reflections from walls and metal furniture can create false targets. Set zones and filter by speed.
- 10 frames a second. That is fine for presence and slow movement, but not for fast gestures.
- Range is about 6 m, with accuracy that falls at the edges of the ±60° field.
Safety notes
Before you wire anything up
- Power the module from 5 V.
- Radar is not a safety device. Do not use it as the only detector for a fall, a fire or an intrusion.
- Privacy: even without a camera, tracking people in a room is personal data. Tell the people who live or work there.
- Never connect the board to mains voltage. Keep it on a low-voltage supply.
- Disconnect the power before you change the wiring.
Conclusion
The LD2450 gives you real multi-target position tracking that a simple presence sensor like the LD2410 can’t, at the cost of a more involved binary UART protocol. Pair it with an ESP32’s hardware UART for reliable 256000-baud framing.
More guides
Keep building.
From ESP32 HomeKit accessories to Arduino and ATtiny reference guides, there’s more where this came from.
All guides

