Features of VL53LXX Laser-Ranging Module
The VL53L1X sensor module is a laser-ranging sensor based on Time-of-Flight (ToF). The ToF method measures the distance to the object by measuring a wave’s total travel time (between the sensor and the object). With a maximum frequency of 50Hz, the VL53L1X sensor can measure distances up to a range of 4 meters.
This low-power module is controlled through the I2C interface.
In this module, unlike previous generations of distance measuring modules, IR and optic filters are physically included. It also features the ST’s latest ToF technology, which enables us to measure accurate distances, regardless of the color or material of the target object.
The module has an onboard regulator that can be set up well in both 3.3V and 5V modes.
Specifications of VL53LXX Laser-Ranging Module
- Working voltage: 3.3v/5v
- Distance range: 40 to 4000 mm
- Accuracy: ±5%
- Sampling frequency: up to 50 Hz
- Operating temperature: -20 to 80 °C
- Field of view: 27°
- Laser wavelength: 940nm
- Dimensions: 11.80 x 16.35 mm
For more information, check out the datasheet. Here are the user manual and datasheet of VL53L1X.
VL53L1X DISTANCE SENSOR USER MANUAL
VL53L1X DATASHEET
Pinout of VL53LXX Laser-Ranging Module
VL53L1X module has six pins:
- VCC: 3.3V/5V power supply
- GND: Ground
- SHUT: shutdown (Active Low)
- INT: adjustable interrupt output for communicating with the microcontroller
- SCL: I2C communication clock
- SDA: I2C communication data line
Required Materials
Hardware Components
Software
Interfacing VL53L1X Laser-Ranging Module with Arduino
Step 1: Wiring
Connect the wires as shown below.
Step 2: Library
Install the library of the VL53L1X laser-ranging module.
VL53L1X library ZIP file
If you need more help installing the library, click on this link.
Step 3: Code
Copy and run the following code in Arduino.
#include <Wire.h>
#include <VL53L1X.h>
VL53L1X sensor;
void setup()
{
Serial.begin(115200);
Wire.begin();
Wire.setClock(400000); // use 400 kHz I2C
sensor.setTimeout(500);
if (!sensor.init())
{
Serial.println("Failed to detect and initialize sensor!");
while (1);
}
sensor.setDistanceMode(VL53L1X::Short);
sensor.setMeasurementTimingBudget(15000);
sensor.startContinuous(15);
Serial.println("new program");
}
void loop()
{
Serial.println(String(millis())+","+String(sensor.read()));
delay(50);
}
Open the serial monitor window. The first number in front of the arrow is “time,” and the next is “distance” in millimeters. The numbers should change when the distance between the object and the sensor changes.