Features:
- SPAD receiving array with integrated lens for precise measurements
- Low-power microcontroller running advanced firmware
- Pin-compatible with VL53L0X
- Fast and accurate long-distance ranging (up to 4 meters)
- Programmable region of interest (ROI) size and position
- Shutdown and interrupt pins for system control
Specifications:
- Emitter: 940 nm invisible laser (Class 1)
- Field of View: 27°
- Distance Measurement Range: Up to 400 cm
- Ranging Frequency: Up to 50 Hz
- Interface: I2C (up to 400 kHz)
- Dimensions: 4.9 x 2.5 x 1.56 mm
Applications:
- Robotics: Obstacle detection and avoidance
- Industrial automation: Line control, inventory tracking
- Smart buildings: Occupancy detection, lighting automation
- Healthcare: Patient monitoring and fall detection
- Drones: Obstacle avoidance and precision landing
- IoT devices: Smart home and wearable technology
Pin Connections:
Abbreviation |
Full Name |
Description |
VCC |
Power Supply Voltage |
+2.6V to +3.5V |
SDA |
Serial Data |
I2C data line |
SCL |
Serial Clock |
I2C clock line |
GND |
Ground |
Ground reference |
INT |
Interrupt Output |
Signals host on measurement or error |
SHUT |
Shutdown Control |
Pull low to power down |
Sample Project:
Materials Required:
- 1 x Arduino UNO/NANO
- 1 x VL53L1X Module
- 1 x I2C LCD Display
- 1 x Breadboard
- Jumper Wires
Connection Overview:
Connect A4 to SDA and A5 to SCL on both the sensor and the LCD display.

Required Library:
Example Code (Serial Output):
#include "Adafruit_VL53L0X.h"
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
void setup() {
Serial.begin(9600);
while (!Serial) { delay(1); }
Serial.println("Adafruit VL53L0X test");
if (!lox.begin()) {
Serial.println(F("Failed to boot VL53L0X"));
while(1);
}
Serial.println(F("VL53L0X API Simple Ranging example"));
}
void loop() {
VL53L0X_RangingMeasurementData_t measure;
lox.rangingTest(&measure, false);
if (measure.RangeStatus != 4) {
Serial.print("Distance (mm): ");
Serial.println(measure.RangeMilliMeter);
} else {
Serial.println("Out of range");
}
delay(100);
}
Example Code (I2C LCD Output):
#include "Adafruit_VL53L0X.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(9600);
while (!Serial) { delay(1); }
Serial.println("Adafruit VL53L0X test");
if (!lox.begin()) {
Serial.println(F("Failed to boot VL53L0X"));
while(1);
}
Serial.println(F("VL53L0X API Simple Ranging example"));
}
void loop() {
VL53L0X_RangingMeasurementData_t measure;
lox.rangingTest(&measure, false);
if (measure.RangeStatus != 4) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("DISTANCE in mm");
lcd.setCursor(0, 1);
lcd.print(measure.RangeMilliMeter);
} else {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("DISTANCE in mm");
lcd.setCursor(0, 1);
lcd.print("OUT OF RANGE");
}
delay(100);
}
References:
Features:
- SPAD receiving array with integrated lens for precise measurements
- Low-power microcontroller running advanced firmware
- Pin-compatible with VL53L0X
- Fast and accurate long-distance ranging (up to 4 meters)
- Programmable region of interest (ROI) size and position
- Shutdown and interrupt pins for system control
Specifications:
- Emitter: 940 nm invisible laser (Class 1)
- Field of View: 27°
- Distance Measurement Range: Up to 400 cm
- Ranging Frequency: Up to 50 Hz
- Interface: I2C (up to 400 kHz)
- Dimensions: 4.9 x 2.5 x 1.56 mm
Applications:
- Robotics: Obstacle detection and avoidance
- Industrial automation: Line control, inventory tracking
- Smart buildings: Occupancy detection, lighting automation
- Healthcare: Patient monitoring and fall detection
- Drones: Obstacle avoidance and precision landing
- IoT devices: Smart home and wearable technology
Pin Connections:
Abbreviation |
Full Name |
Description |
VCC |
Power Supply Voltage |
+2.6V to +3.5V |
SDA |
Serial Data |
I2C data line |
SCL |
Serial Clock |
I2C clock line |
GND |
Ground |
Ground reference |
INT |
Interrupt Output |
Signals host on measurement or error |
SHUT |
Shutdown Control |
Pull low to power down |
Sample Project:
Materials Required:
- 1 x Arduino UNO/NANO
- 1 x VL53L1X Module
- 1 x I2C LCD Display
- 1 x Breadboard
- Jumper Wires
Connection Overview:
Connect A4 to SDA and A5 to SCL on both the sensor and the LCD display.

Required Library:
Example Code (Serial Output):
#include "Adafruit_VL53L0X.h"
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
void setup() {
Serial.begin(9600);
while (!Serial) { delay(1); }
Serial.println("Adafruit VL53L0X test");
if (!lox.begin()) {
Serial.println(F("Failed to boot VL53L0X"));
while(1);
}
Serial.println(F("VL53L0X API Simple Ranging example"));
}
void loop() {
VL53L0X_RangingMeasurementData_t measure;
lox.rangingTest(&measure, false);
if (measure.RangeStatus != 4) {
Serial.print("Distance (mm): ");
Serial.println(measure.RangeMilliMeter);
} else {
Serial.println("Out of range");
}
delay(100);
}
Example Code (I2C LCD Output):
#include "Adafruit_VL53L0X.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(9600);
while (!Serial) { delay(1); }
Serial.println("Adafruit VL53L0X test");
if (!lox.begin()) {
Serial.println(F("Failed to boot VL53L0X"));
while(1);
}
Serial.println(F("VL53L0X API Simple Ranging example"));
}
void loop() {
VL53L0X_RangingMeasurementData_t measure;
lox.rangingTest(&measure, false);
if (measure.RangeStatus != 4) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("DISTANCE in mm");
lcd.setCursor(0, 1);
lcd.print(measure.RangeMilliMeter);
} else {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("DISTANCE in mm");
lcd.setCursor(0, 1);
lcd.print("OUT OF RANGE");
}
delay(100);
}
References: