

The VL53L4CX is a time-of-flight (ToF) distance sensor manufactured by Adafruit (Part ID: 5425). It utilizes advanced laser technology to measure distances with high accuracy and precision. This sensor is capable of detecting objects at distances up to 6 meters and operates reliably in various lighting conditions, including complete darkness. Its compact design and low power consumption make it ideal for applications in robotics, drones, automation, and proximity sensing.








The VL53L4CX offers robust performance and flexibility for a wide range of applications. Below are its key technical details:
| Parameter | Value |
|---|---|
| Operating Voltage | 2.6V to 3.5V |
| Communication Interface | I²C |
| Measurement Range | 0.1m to 6m |
| Accuracy | ±5mm (typical) |
| Field of View (FoV) | 18° (typical) |
| Power Consumption | 20mW (active mode) |
| Operating Temperature | -20°C to +85°C |
| Dimensions | 4.4mm x 2.4mm x 1.0mm |
The VL53L4CX sensor module typically comes with the following pinout:
| Pin | Name | Description |
|---|---|---|
| 1 | VIN | Power supply input (2.6V to 3.5V) |
| 2 | GND | Ground connection |
| 3 | SDA | I²C data line |
| 4 | SCL | I²C clock line |
| 5 | XSHUT | Shutdown pin (active low, optional for power saving) |
| 6 | GPIO1 | Interrupt output (optional, configurable) |
To use the VL53L4CX with an Arduino UNO, follow these steps:
Below is an example Arduino sketch to read distance measurements from the VL53L4CX using the Adafruit VL53L4CX library:
#include <Wire.h>
#include <Adafruit_VL53L4CX.h>
// Create an instance of the VL53L4CX sensor
Adafruit_VL53L4CX vl53l4cx;
void setup() {
Serial.begin(115200);
while (!Serial) {
delay(10); // Wait for Serial Monitor to open
}
// Initialize I2C communication
if (!vl53l4cx.begin()) {
Serial.println("Failed to initialize VL53L4CX sensor!");
while (1) {
delay(10); // Stay in loop if initialization fails
}
}
Serial.println("VL53L4CX sensor initialized successfully.");
}
void loop() {
VL53L4CX_MultiRangingData_t rangingData;
// Perform a distance measurement
if (vl53l4cx.rangingTest(&rangingData)) {
Serial.println("Error during ranging test!");
return;
}
// Print distance measurement for each detected object
for (uint8_t i = 0; i < rangingData.NumberOfObjects; i++) {
Serial.print("Object ");
Serial.print(i + 1);
Serial.print(": Distance = ");
Serial.print(rangingData.RangeMilliMeter[i]);
Serial.println(" mm");
}
delay(100); // Wait before the next measurement
}
Sensor not detected on I²C bus:
Inaccurate distance measurements:
Sensor initialization failure:
Q: Can the VL53L4CX measure distances in complete darkness?
A: Yes, the sensor uses an infrared laser for distance measurement, making it independent of ambient light.
Q: What is the maximum range of the VL53L4CX?
A: The sensor can measure distances up to 6 meters under optimal conditions.
Q: Can I use multiple VL53L4CX sensors on the same I²C bus?
A: Yes, but you must change the I²C address of each sensor using the XSHUT pin to avoid address conflicts.
Q: Is the VL53L4CX eye-safe?
A: Yes, the sensor complies with Class 1 laser safety standards, making it safe for use in consumer applications.