The problem: an ultrasonic sensor under a multirotor gives a ragged hover over grass, so you look for a replacement, and every forum thread calls the answer "LiDAR" while mixing up three different things: a single-point laser rangefinder, a scanning LiDAR and a time-of-flight chip. This post sorts them out. It compares the three on the numbers that matter for altitude hold (minimum range, update rate, beam footprint) and on how each fails over grass, water and in sunlight.

Spec numbers below come from the makers' public pages, read on 2026-11-07: Benewake's product comparison table (en.benewake.com) and ERDI's model pages (erdilrf.com). Where I use a general physical rule instead of a datasheet value, I say so.

The three sensor families

Ultrasonic. A transducer sends a chirp and times the echo. Typical hobby modules such as the HC-SR04 publish a 2-400 cm range and a measuring angle of about 15 degrees. The beam is wide and the speed of sound changes with air temperature (roughly 331 m/s at 0 °C plus 0.6 m/s per degree), so readings drift unless you compensate. Prop wash, foam, grass and soft surfaces can all swallow the echo.

Single-point laser rangefinder. A pulsed or modulated infrared emitter and a photodiode. The beam is narrow, so you measure a spot, not a cone. This family covers a huge span: 9 m parts that weigh 1 g, up to modules that reach kilometres. Update rates run from 1 Hz to 10 kHz depending on model.

Scanning LiDAR. A single-point laser on a rotating or oscillating mount that builds a 2D or 3D picture. Right for obstacle avoidance and mapping; heavy and power-hungry for a job that only needs one number pointing down.

What altitude hold needs

Three requirements decide the sensor:

  1. A short minimum range. On landing you need valid readings from a few centimetres. A sensor with a 4 m blind zone is useless for landing.
  2. A high enough update rate. The flight controller fuses the rangefinder with barometer and IMU. A few hertz is too slow for the vertical loop on a small multirotor; tens to hundreds of hertz is the comfortable region.
  3. A stable reading over the surfaces you fly above. Water, tall grass, dark tarmac and bright sand each break one sensor type or another.

Published numbers, side by side

Sensor Range (maker) Update rate (maker) Weight Notes
HC-SR04 class ultrasonic 2-400 cm measurement cycle of tens of ms few grams wide cone; temperature-sensitive
Benewake TFmini Plus 0.1-12 m 1-1,000 Hz 12 ± 1 g IP65
Benewake TF02-Pro 0.1-40 m 1-1,000 Hz 50 g IP65
Benewake TF03 0.1-180 m 1-9,800 Hz 86 ± 3 g IP67
ERDI LRF10VB 0.05-9 m (90 % reflectivity); 0.05-5 m (10 %) 50 Hz 1 g 940 nm, UART, USD 10
ERDI LRF22VB 0.05-20 m (90 %); 0.05-10 m (10 %) 200 Hz (selectable) 1.5 g UART / I2C, 3-3.6 V, USD 12
ERDI LRF50VB 0.05-50 m (90 %); 0.05-20 m (10 %) 100 Hz 1.3 g UART / I2C, USD 70
ERDI LRF300H 0.05-300 m (90 %); 0.05-100 m (10 %) 1 kHz or 50 Hz (auto) 20 ± 2 g 9-36 V, UART / I2C
ERDI LR2000E2 4-2,000 m (standard range) 2-10 Hz adaptive about 10 g 4 m minimum; not for altitude hold

Two rows deserve emphasis. The last one is the honest answer to a question I get often: a kilometre-class module with a 4 m minimum and 2-10 Hz refresh is the wrong sensor for altitude hold, however good its range. And the ERDI VB series entries show the useful range for low-altitude work: 0.05 m minimum, 50-200 Hz, around a gram.

Which fails where

Surface / condition Ultrasonic Short-range laser Scanning LiDAR
Grass, foliage soft echo, noisy often reads the top of the vegetation similar to laser
Water usually returns weak return at a steep angle; can drop out weak return
Dark asphalt / low reflectivity fine range drops (see the 10 % column above) range drops
Strong sunlight fine background light cuts range cuts range
Prop wash / vibration echo disturbed not affected not affected, mount-sensitive

That last row is why laser beats ultrasonic under a rotorcraft. The beam footprint is also the reason. A laser spot with a divergence of a few milliradians is centimetres wide at 10 m. An ultrasonic cone with a 15-degree angle covers a circle roughly 2.6 m across at 10 m (2 × 10 × tan 7.5°), which includes the landing gear, a fence post and a patch of grass all at once.

Footprint in 10 lines of Python

The fastest way to see why laser wins under a rotorcraft is to compute what each sensor is actually looking at. The 3 mrad laser divergence is an illustrative value; use your module's published figure.

import math def footprint_m(distance_m, divergence_rad=None, cone_deg=None): """Diameter of the area a sensor looks at, at a given distance.""" if cone_deg is not None: return 2 * distance_m * math.tan(math.radians(cone_deg / 2)) return distance_m * divergence_rad for d in (2, 10, 50): sonar = footprint_m(d, cone_deg=15) # HC-SR04 class: about 15 degree cone  laser = footprint_m(d, divergence_rad=0.003) # 3 mrad laser (illustrative value)  print(f"{d:>3} m ultrasonic {sonar:5.2f} m wide laser {laser*100:5.1f} cm wide") 

Output of that script:

 2 m ultrasonic 0.53 m wide laser 0.6 cm wide 10 m ultrasonic 2.63 m wide laser 3.0 cm wide 50 m ultrasonic 13.17 m wide laser 15.0 cm wide 

A practical recommendation

  • Landing and low hold (under 10-20 m): a single-point laser with a minimum range of a few centimetres and 50 Hz or more. The VB class (LRF10VB, LRF22VB, LRF50VB) fits that profile at 1-1.5 g.
  • Terrain following at 30-100 m: a 100-300 m laser such as the LRF300H, still at 50 Hz to 1 kHz.
  • Obstacle distance ahead, structure standoff, cable spans: a long-range module (hundreds of metres to kilometres) on a separate channel. These read slowly. Use them to decide, not to stabilise.
  • Mapping and avoidance in clutter: a scanning LiDAR. Do not use it as an altitude sensor.

Wiring a rangefinder into ArduPilot or PX4 is a separate step. Neither stack ships a driver for every module, and the usual route is a small companion script that reads the sensor over UART and forwards a MAVLink DISTANCE_SENSOR message. There is a worked example in the erdi-lrf-pixhawk-ardupilot repository and a drone-focused buying guide in drone-altimeter-laser-rangefinder-guide.

Caveats

  • ERDI TECH LTD is the author's company. The Benewake rows are there because the comparison is meaningless without them.
  • Ultrasonic values are typical published figures for the HC-SR04 class, not a specific premium part. Premium sonar modules exist with better beam control.
  • I have not flight-tested every part listed. These are datasheet comparisons; bench and flight test before you trust any of them with a landing.

Datasheets and prices for the ERDI parts are on the model pages linked above, and the drone-specific page is https://erdilrf.com/lrf/drone-altimeter-laser-rangefinder/.

Data checked 2026-11-07. Tommy Yu, ERDI TECH LTD, erdilrf.com