VL53L0X Purple Laser Distance Sensor Module
VL53L0X Laser Distance Sensor Module
High-Speed, High-Precision Time-of-Flight Distance Measurement
Introduction
The VL53L0X is a state-of-the-art Time-of-Flight (ToF) laser-ranging sensor that provides accurate distance measurement up to 2 meters. Using an invisible 940nm laser, it offers millimeter precision with fast response times, making it ideal for applications requiring reliable proximity and distance sensing.
Key Features
High Precision
±3% accuracy with millimeter resolution
Fast Response
Measurement time as low as 30ms
Small Form Factor
Compact 4.9 × 2.5 × 1.56mm package
I2C Interface
Simple connection with 2.6V-3.5V microcontrollers
Technical Specifications
Measurement Range | 30mm – 2000mm (2m) |
---|---|
Accuracy | ±3% (typical) |
Laser Wavelength | 940nm (invisible to human eye) |
Interface | I2C (0x29 default address) |
Supply Voltage | 2.6V – 3.5V (5V tolerant I/O) |
Current Consumption | 19mA active, 5μA standby |
Field of View | 25° (typical) |
Measurement Time | 30ms (typical) |
Pin Configuration

Pin | Label | Description | Arduino Connection |
---|---|---|---|
1 | VCC | Power (2.6V-3.5V) | 3.3V |
2 | GND | Ground | GND |
3 | SCL | I2C Clock | A5 (Uno) or SCL |
4 | SDA | I2C Data | A4 (Uno) or SDA |
5 | GPIO1 | Interrupt output (optional) | Digital pin (optional) |
6 | XSHUT | Shutdown control (optional) | Digital pin (optional) |
Note: The sensor requires proper power supply (2.6V-3.5V) for accurate measurements
Wiring with Arduino
// Basic I2C Connections: // VCC → 3.3V // GND → GND // SCL → A5 (Uno) or SCL // SDA → A4 (Uno) or SDA // Optional connections: // GPIO1 → Digital pin (for interrupt functionality) // XSHUT → Digital pin (for sensor reset) // Requires Pololu VL53L0X library
Important: Use proper voltage level shifting if connecting to 5V Arduino boards
Basic Distance Measurement Example
// VL53L0X Distance Sensor Basic Example #include <Wire.h> #include <VL53L0X.h> VL53L0X sensor; void setup() { Serial.begin(9600); Wire.begin(); sensor.init(); sensor.setTimeout(500); // Start continuous back-to-back mode sensor.startContinuous(); } void loop() { int distance = sensor.readRangeContinuousMillimeters(); if (sensor.timeoutOccurred()) { Serial.println("Timeout"); } else { Serial.print("Distance: "); Serial.print(distance); Serial.println(" mm"); } delay(100); }
Advanced Features
High Speed Mode
// Set high speed measurement mode
sensor.setMeasurementTimingBudget(20000); // 20ms timing budget
sensor.startContinuous();
Long Range Mode
// Configure for longer range
sensor.setSignalRateLimit(0.1);
sensor.setVcselPulsePeriod(VL53L0X::VcselPeriodPreRange, 18);
sensor.setVcselPulsePeriod(VL53L0X::VcselPeriodFinalRange, 14);
Interrupt Function
// Configure interrupt threshold
sensor.setInterMeasurementPeriod(100);
sensor.setInterruptThresholds(100, 200, false); // mm thresholds
// Connect GPIO1 pin to handle interrupts
Multiple Sensors
// Use XSHUT to change I2C addresses
digitalWrite(XSHUT_PIN1, LOW);
digitalWrite(XSHUT_PIN2, LOW);
// Initialize sensors with different addresses
sensor1.setAddress(0x30);
sensor2.setAddress(0x31);
Troubleshooting
Sensor Not Detected
- Verify I2C connections (SCL/SDA)
- Check sensor address (default 0x29)
- Ensure proper power supply (2.6V-3.5V)
Inaccurate Readings
- Ensure target is within 25° field of view
- Check for reflective/absorbent surfaces
- Adjust timing budget for conditions
Short Range Only
- Clean sensor lens from dust/dirt
- Check for ambient light interference
- Configure for long range mode
Related Posts
MG90S Mini Digital 180° Servo
MG90S Mini Digital 180° Servo
Metal Gear, 2.2kg·cm Torque for RC and Robotics
Introduction
The MG90S is a compact di...
XKC-Y25-V Non-Contact Water Liquid Level Sensor
XKC-Y25-V Non-Contact Water Liquid Level Sensor
Capacitive Detection Without Physical Contact
Introduction
The XKC-Y...
Waterproof Ultrasonic Obstacle Sensor, Sensor with Separate Probe
+
Waterproof Ultrasonic Obstacle Sensor
Distance Measurement with Separate Waterproof Probe
Introduction
The Wa...
Water Level Depth Detection Sensor
Water Level Depth Detection Sensor
Liquid Measurement for Arduino and IoT Projects
Introduction
The Water Level Dept...
TCS34725 RGB Color Sensor Module
TCS34725 RGB Color Sensor Module
High-Accuracy Digital Color Detection with IR Filter
Introduction
The TCS34725 is a...
TCS3200 Color Sensor Module
TCS3200 Color Sensor Module
Precise RGB Color Detection for Arduino and Embedded Projects
Introduction
The TCS3200 C...
PN532 NFC RFID Read/Write Module V3 Kit
PN532 NFC RFID Read/Write Module V3 Kit
Advanced Near Field Communication for Arduino and Embedded Systems
Introducti...
HC-SR501 PIR Motion Sensor Module
HC-SR501 PIR Motion Sensor Module
Passive Infrared Detection for Security and Automation Projects
Introduction
The H...
Flex Sensor 5.6 cm (Detect Bending Motion)
Flex Sensor 5.6cm
Bend Detection Sensor for Arduino and Wearable Electronics Projects
Introduction
The 5.6cm...
ACS712 Current Sensor Module
ACS712 5A Current Sensor Module
Hall-Effect Based AC/DC Current Measurement for Arduino Projects
Introduction
The AC...
AS608 Optical Fingerprint Sensor Module
AS608 Optical Fingerprint Sensor Module
High-Precision Biometric Recognition for Arduino and Microcontroller Projects
...
DHT11 Temperature and Humidity Sensor Module
DHT11 Temperature & Humidity Sensor
Basic Environmental Sensing with Status LED for Arduino Projects
Introduction...
Recent Comments