Your lidar says 40 m and reaches 9 m: the four numbers that decide a real range
Your lidar says 40 m. Outdoors it stops at 9 m. Nothing is broken — the datasheet was measured under conditions nobody wrote down. I maintain an open dataset of laser rangefinder and single-point lidar modules (specs.erdilrf.com), and the most common support question is some variant of "why is my range so much worse than the datasheet?" It is almost always one of four numbers, and the datasheet usually gives you one of them. The four numbers 1. Target reflectance. Most modules quote a range against a 90 % reflective target — a retro-reflector or a white board. Real targets are not that. A matte grey wall is around 10–20 %; black anodised aluminium is under 5 %; foliage is worse and it moves. Returned power falls with reflectance, and range falls with the fourth root of returned power, so a 10× drop in reflectance costs you a meaningful fraction of your range before anything else goes wrong. 2. Background illumination. Indoor compatibility is often quoted in klx. Direct su
Your lidar says 40 m. Outdoors it stops at 9 m. Nothing is broken — the datasheet was measured under conditions nobody wrote down.
I maintain an open dataset of laser rangefinder and single-point lidar modules (specs.erdilrf.com), and the most common support question is some variant of "why is my range so much worse than the datasheet?" It is almost always one of four numbers, and the datasheet usually gives you one of them.
The four numbers
1. Target reflectance. Most modules quote a range against a 90 % reflective target — a retro-reflector or a white board. Real targets are not that. A matte grey wall is around 10–20 %; black anodised aluminium is under 5 %; foliage is worse and it moves. Returned power falls with reflectance, and range falls with the fourth root of returned power, so a 10× drop in reflectance costs you a meaningful fraction of your range before anything else goes wrong.
2. Background illumination. Indoor compatibility is often quoted in klx. Direct sun on a white target is on the order of 100 klx. If the module's stated ambient immunity is 10 klx, outdoor daylight is outside its specification. Narrowband filtering helps — one reason 905 nm and 940 nm parts behave differently in sunlight — but it does not perform miracles.
3. Atmosphere. Visibility in km is the usual figure. At 10 km visibility the atmosphere already eats a few percent per hundred metres; in fog or heavy rain the return can vanish entirely. Long-range modules quote their headline numbers at good visibility, which is a condition, not a guarantee.
4. Integration time and rate. A 200 Hz stream cannot integrate as long as a 1 Hz single shot. The same optics produce quite different ranges depending on how long they look. This is why the fastest modules and the longest-range modules are usually not the same product.
What to do about it
Ask for the condition behind every range figure. In the dataset I keep, each row carries the manufacturer's own sentence — target size, reflectance, visibility — verbatim, because paraphrasing it destroys the only comparable part of the number:
"Measuring range 12 km for target 5 × 15 m, reflectivity 0.3, visibility 23 km"
That is a completely different claim from "12 km", and the only form in which the number means anything. Two modules quoting the same headline range can differ by 3–4× in practice, simply because one condition says large vehicle at 23 km visibility and the other says small drone in haze.
A 20-minute test that settles it
You do not need a lab. You need to record the four numbers above, then take a few hundred shots at each distance:
- Put the target at a measured distance; note material and size.
- Note the light: direct sun, shade, or dark. Measure illuminance if you can.
- Note the weather and roughly the visibility.
- Take at least 100 shots per distance; record the median and the spread, and count the misses.
- Report the distance at which you start losing returns. That is the honest range; everything before it is a nice-to-have.
The misses matter more than the hits: the failure boundary decides whether the product works on a bad day. If you want the full field list, I published a range test report template with the twelve fields that make a result checkable by someone else.
Two things to check before committing
- Interface documentation. Framing, endianness and checksum coverage are where integrations die, and none of it is in a brochure. There is a protocol checklist of the twelve items a protocol document must state.
- Update rate vs accuracy. A fast stream with centimetre resolution is a good control input and a poor measuring instrument. Decide which one you are building before comparing parts.
The dataset
If it is useful: specs.erdilrf.com/data — 59 modules, 905 / 940 / 1535 nm, with the manufacturer's range condition attached to every row, plus interface, optics and selection-by-application tables. JSON and CSV, CC BY 4.0, no signup.
If a row is wrong, tell me and it gets fixed. An errata is cheaper than a design review built on a bad number.