HLK LD2451 (24GHz speed sensor) anyone played with it? - Page 1
Forum section: electronics / projects

author: JBeale
author_rank: Frequent Contributor
timestamp: April 17, 2025, 03:27:18 pm
content: HLK makes a range of 24 GHz FMCW sensors, for instance detecting occupancy of a room, as well as motion. They also make a device apparently intended for automotive use, the HLK LD2451 which advertises detecting cars out to 100 m distance. Has anyone played with this device?https://hilink.ltd/index.php?id=1282&cateid=768By default it detects only approaching objects, but you can reconfigure that, and some other parameters.I do see that it can detect a person walking, even at a distance exceeding 60 m (see enclosed graph: person across road who is walking away, then me walking out and back, and then another person approaching on the other side of road). However it completely ignores any and all cars that pass by! From other experiments, I know the car radar return signal at 24 GHz in this situation is larger than from a person. It is supposedly designed to detect cars, and is at least configurable for speeds up to 120 km/h. My cars are going about 25 mph or 40 km/h. Just wondering if there's any obvious setting I missed. Here's my testing code to log data from it:https://github.com/jbeale1/doppler/blob/master/HLK_LD2451_monitor.py

author: JBeale
author_rank: Frequent Contributor
timestamp: April 17, 2025, 04:03:11 pm
content: I should add in addition to the serial interface, that board also includes bluetooth connectivity and HLK offers an app to display and control it. I dont have visibility into what exact settings the app has configured and the labels are in Chinese but I see it does sometimes indicate a "car" (in my case person) present in the field of view, so the obvious thing to do is to see if it will detect cars in whatever mode the app sets. So I'll try that.

author: JBeale
author_rank: Frequent Contributor
timestamp: April 17, 2025, 07:45:46 pm
content: OK, using the phone app and playing around I have discovered it will detect both people and cars, so long as they are moving slower than about 15 km/hr or 9 mph. So that includes most people, but rather few cars passing by. There is a "minimum speed" setting (don't detect targets slower than some setting) but there is no available max speed setting. Too bad, as it has quite good range apart from that.

author: PA0PBZ
author_rank: Super Contributor
timestamp: April 18, 2025, 10:18:52 am
content: I wonder what the target application is, they mention some examples like blind spot detection, gate opening and such but nowhere they tell you the maximum detected speed. It could be that they filter out anything with a speed over 15 km/hr. In one screenshot they show ' 27.0m/s0', I'm not sure what the '0' is supposed to indicate or even if it is a zero. If it was 27 m/s that would be 97 km/hr which I doubt.

author: JBeale
author_rank: Frequent Contributor
timestamp: April 18, 2025, 03:01:04 pm
content: They don't say what speed range it can detect exactly, but the serial protocol manual has an oddly specific limit to the _minimum_ detection speed threshold, which is adjustable and can be set up to 0x78 or 120 km/h. If that was not related to any other limit, I assume it would be just any value 0x00 - 0xff.

author: PA0PBZ
author_rank: Super Contributor
timestamp: April 18, 2025, 03:23:01 pm
content: I agree that it doesn't make sense to set the minimum that high if it can't even measure that. What happens if you set this lower limit to 20km/h, does it stop detecting anything?

author: JBeale
author_rank: Frequent Contributor
timestamp: April 18, 2025, 03:38:50 pm
content: Quote from: PA0PBZ on April 18, 2025, 03:23:01 pmYes, correct. The minimum detection speed threshold is operational, and works as you would expect. Set to a low value (0,1,2,3..) it easily detects me walking and outputs a continuous stream of position reports, even out to a distance of 50 m, I think pretty good for such a small unit. But set to anything above 15 km/hr it does not detect me at all, because I'm not moving that fast. I know cars have a bigger radar cross-section than people, so it must be actively rejecting the higher-speed returns. There is an Arduino forum thread where people have shown this device in home-brew traffic monitors presenting reports like 35 km/h in one case, and it looks like they're using the same version of firmware that my unit reports (HLK-LD2451_9370 V 1.09.24101417). So maybe something special about my setup somehow.https://forum.arduino.cc/t/using-hlk-ld2451-radar-for-speed-measurment/1328105/58

author: JBeale
author_rank: Frequent Contributor
timestamp: April 18, 2025, 08:09:52 pm
content: Based on its performance for smaller targets (eg consistent detection of range, direction, and speed, for a person walking at > 50m distance), the raw RF performance of this FM-CW doppler radar device is quite good, despite its small size and low price. What I'd really like is to be able to modify the firmware to extract the information I want from the raw data stream, enabling detection of cars (which is presumably what it was originally intended for). However, I assume that will never happen.

author: PA0PBZ
author_rank: Super Contributor
timestamp: April 18, 2025, 08:16:02 pm
content: Did you try to ask them about the maximum speed ( sales@hlktech.com )?

author: JBeale
author_rank: Frequent Contributor
timestamp: April 18, 2025, 10:00:32 pm
content: Quote from: PA0PBZ on April 18, 2025, 08:16:02 pmYes, I have described the situation to them at that email, asking for any advice they might have.They said the inquiry was being referred to an agent, so we shall see.EDIT: further testing suggests this unit is reporting possibly 3x higher velocity than true, and the reported SNR is often max (255) even with a relatively small target (person) 15 m away or more. It suggests to me the receiver gain is set way too high, the return signal is saturating the input, and hard-clipping somewhere in the receiver chain is causing the 3rd harmonic to be taken as the fundamental. If that's true, the design is pretty hopeless given there appears to be no user control over either Tx power or Rx gain. Unfortunate, as I think it could really work well if it was tuned properly. I suppose I could detune the recieve antennas with a dielectric but I don't know how stable that would be, tweaking 24 GHz patch antenna arrays is out of my experience range.

author: JBeale
author_rank: Frequent Contributor
timestamp: April 30, 2025, 03:14:28 pm
content: I got a response, but no useful info from their tech support. Apparently some people get the LD2451 to work ok for cars; but not me.In case of interest, I switched to the more expensive and slightly larger HLK-LD2415H board and that works just fine for me. It reports car speed out to a distance of about 130 m, and might even go farther except that is where the cars disappear over a hill at my particular location.The board needs 12 V at roughly 50 to 55 mA, which I provided with a small USB 5V -> 12V boost device. The output format is simple, it reports speed and direction only, not signal strength, and does not track multiple targets. But you can optionally configure minimum speed and minimum signal strength threshold, and reporting rates are available up to 22 reports per second.Attached graph shows speed vs time of three cars passing by, about 12 seconds apart. Each point is one reading from the sensor. All cars are travelling away, so the reported velocity is negative from this sensor, but here I plot the absolute value. The initial rise in (radial) velocity is just due to the cosine angle factor relative to the sensor, as the car initially passes by to the side. In this situation cars are generally slowing down after they pass, as they go up a slight hill.