

The VL53LOX is a time-of-flight (ToF) distance sensor manufactured by Adafruit Industries. It utilizes laser technology to measure distances with high accuracy and speed. This compact sensor can measure distances ranging from 30 mm to 2 meters, making it ideal for applications requiring precise distance measurements.








The VL53LOX is designed to deliver reliable and accurate distance measurements in a variety of environments. Below are its key technical specifications:
| Parameter | Value |
|---|---|
| Operating Voltage | 2.6V to 3.5V |
| Communication Interface | I2C |
| Measurement Range | 30 mm to 2000 mm |
| Accuracy | ±3% |
| Field of View (FoV) | 25° |
| Operating Temperature | -20°C to +70°C |
| Power Consumption | 20 mW (typical) |
| Dimensions | 4.4 mm x 2.4 mm x 1.0 mm |
The VL53LOX sensor module typically comes with the following pinout:
| Pin Name | Description |
|---|---|
| VIN | Power supply input (2.6V to 5V) |
| GND | Ground |
| SDA | I2C data line |
| SCL | I2C clock line |
| XSHUT | Shutdown pin (active low, optional) |
| GPIO1 | Interrupt output (optional, configurable) |
0x29. If using multiple sensors, you must configure unique addresses for each.Below is an example of how to use the VL53LOX with an Arduino UNO. This code uses the Adafruit VL53L0X library, which can be installed via the Arduino Library Manager.
#include <Wire.h>
#include <Adafruit_VL53L0X.h>
// Create an instance of the VL53L0X sensor
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
void setup() {
Serial.begin(9600); // Initialize serial communication
while (!Serial) {
delay(10); // Wait for the serial port to be ready
}
Serial.println("Adafruit VL53L0X test");
// Initialize the sensor
if (!lox.begin()) {
Serial.println("Failed to boot VL53L0X");
while (1); // Halt if initialization fails
}
Serial.println("VL53L0X ready!");
}
void loop() {
VL53L0X_RangingMeasurementData_t measure;
// Perform a ranging measurement
lox.rangingTest(&measure, false);
// Check if the measurement is valid
if (measure.RangeStatus != 4) { // 4 means "no object detected"
Serial.print("Distance (mm): ");
Serial.println(measure.RangeMilliMeter);
} else {
Serial.println("Out of range");
}
delay(100); // Wait before the next measurement
}
Sensor Not Detected on I2C Bus:
Incorrect or No Distance Measurements:
Multiple Sensors on the Same I2C Bus:
Q: Can the VL53LOX measure distances beyond 2 meters?
A: No, the maximum range of the VL53LOX is 2 meters. For longer ranges, consider other ToF sensors.
Q: Is the VL53LOX affected by temperature changes?
A: The sensor includes temperature compensation, but extreme temperature variations may still affect accuracy.
Q: Can I use the VL53LOX with a 5V microcontroller?
A: Yes, the sensor is compatible with 5V logic levels, but ensure proper wiring and power supply.
By following this documentation, you can effectively integrate the VL53LOX into your projects and troubleshoot common issues.