Skip to main content

LRF22VB UART protocol and integration

LRF22VB 20m Single-Point DToF LiDAR Sensor for Drone Altitude Hold, Robot and AGV Obstacle Avoidance

Typical applications: Drone altitude hold, Robot & AGV obstacle avoidance, Camera focusing.

At a glance​

Protocol familyFamily B (5C, streaming)
Default baud460800 bps, 8N1
Frame4 bytes
Distance unit on the wiremillimetres
Measurement range (datasheet)0.05–20 m (90% refl.) · 0.05–10 m

Specification​

Values come from the ERDI datasheet for this model. Where the datasheet gives a condition, it is shown.

ParameterValueCondition
Laser wavelength905 nm
Ranging range0.05–20 m (90% refl.) · 0.05–10 m10% refl.
Ranging accuracy±5 cm (<5 m) · 1% (≥5 m)
Measurement frequency200 Hz, selectable 200/100/50/20/10/1 Hz
InterfaceUART / I²C
Supply voltage3.0–3.6 V DC
Dimensions21 × 15 × 7.43 mm
Weight1.5 g
Laser safety classClass 1
Operating temperature-20 to +60 ℃
Field of view3°
Repeatability±30 mm
Ambient light immunity8 m60 kLux
Peak current70 mA3.3 V
Average current40 mA3.3 V
Average power consumption< 0.2 W
Wire specification6-pin 0.8 mm terminal (HC-0.8-6PWT), 20 cm tinned stranded wires
CustomizationAvailable in appearance / structure / output protocol

Pinout and wiring​

No.Definition / Wire ColorUser Interface
1NC (White)/
23.3V (Red)External Power +
3TX SCL (Yellow)RXSCL
4RXSDA (Green)TXSDA
5NC (Blue)/
6GND (Black)External Power -

Cross TX and RX (module TX to host RX), share ground, and power the module from a supply that matches the supply voltage in the specification table. See Wiring and power.

Protocol summary​

  • Data frame: 4 bytes, 5C <dist_lo> <dist_hi> <check>, free-running.
  • Default baud: 460800 bps, 8 data bits, 1 stop bit, no parity.
  • Distance: 2 bytes, little-endian, unit millimetres. The VB series reports millimetres and the H series centimetres, so 5C 02 11 EC is 4.354 m on a VB module and 43.54 m on an H module.
  • Out-of-range marker: the module outputs 20000 when there is no valid target. Treat it as no target, not as a distance.
  • Checksum: bitwise inverse of the 8-bit sum of all bytes between the header and the check byte.
CommandRequest frame
Start ranging5A 0A 02 02 00 F1
Stop ranging5A 0A 02 00 00 F3

The full frame description is in Family B protocol. Try it without installing anything in the browser serial monitor.

Code examples​

pip install erdi-lrf # PyPI, MIT
erdi-lrf --port /dev/ttyUSB0 --model LRF22VB stream --count 20
from erdi_lrf import ErdiLRF

# COM3 on Windows, /dev/ttyUSB0 or /dev/serial0 on Linux
with ErdiLRF("/dev/ttyUSB0", "LRF22VB") as lrf:
for r in lrf.stream():
print("out of range" if r.out_of_range else f"{r.metres:.3f} m", "raw", r.raw)

Platform status​

Only rows with evidence say Verified. See the compatibility matrix for what that means and where the evidence is.

PlatformStatusGuide
Python (erdi-lrf)UntestedPython / Raspberry Pi / Jetson
Arduino / PlatformIOUntestedArduino / PlatformIO
ESPHome / Home AssistantUntestedESPHome
ROS 2UntestedROS 2
ArduPilot (Lua script)UntestedArduPilot
ArduPilot native driverIn review (PR #34983, not merged)ArduPilot

Known issues​

  • UART logic level is not stated as a separate field for most models. Supply voltage is not the UART voltage: check the module's TX level against your host before wiring, or ask us.

Resources​