VL53L0X Time-of-Flight Laser Distance Sensor - I2C Ranging Module for Robotics and Presence Detection The VL53L0X Time-of-Flight sensor module uses ST FlightSense technology to measure absolute distance with an invisible 940nm VCSEL emitter. Unlike simple reflective sensors, it reports distance using time-of-flight ranging and is useful for robotics, gesture detection, presence sensing, liquid-level demos, and compact automation projects. STMicroelectronics describes the VL53L0X as a miniature ToF ranging sensor that measures absolute range up to 2m and communicates over I2C. It pairs well with the ELAB Nano V3, Raspberry Pi Pico W, and compact robot systems where ultrasonic modules are too large or acoustically unreliable. For final design limits, refer to the official ST VL53L0X datasheet. Keep the optical window clean and avoid cover-glass crosstalk unless your library and mechanical design account for it. Technical Specifications Parameter Value SKU TB-VL53L0X-1xSet Variant 1x Set Sensor IC ST VL53L0X Measurement Principle Time-of-Flight laser ranging Emitter 940nm VCSEL Maximum Range Up to 2m per ST documentation Interface I2C Address Programmable I2C address at IC level Eye Safety Class 1 laser device per ST documentation Applications Robotics, presence, ranging, liquid level Board Layout & Label Guide VIN / VCC - Power input according to breakout label. GND - Ground reference. SDA - I2C data line. SCL - I2C clock line. XSHUT - Shutdown/reset pin if exposed. GPIO/INT - Interrupt output if exposed. Optical Window - Keep clean and aimed at the target. Address Note - Use XSHUT to assign addresses when using multiple sensors. Application Scenarios 1. Arduino Distance Read Read range with a VL53L0X library. #include #include VL53L0X sensor; void setup() { Serial.begin(115200); Wire.begin(); sensor.init(); sensor.setTimeout(500); sensor.startContinuous(); } void loop() { Serial.println(sensor.readRangeContinuousMillimeters()); delay(100); } 2. I2C Scanner Confirm the sensor appears on the I2C bus. #include void setup() { Serial.begin(115200); Wire.begin(); } void loop() { for (byte a = 1; a < 127; a++) { Wire.beginTransmission(a); if (Wire.endTransmission() == 0) Serial.println(a, HEX); } delay(3000); } 3. MicroPython I2C Probe Scan for the VL53L0X address from a Pico-style board. from machine import I2C, Pin i2c = I2C(0, scl=Pin(17), sda=Pin(16)) print([hex(x) for x in i2c.scan()]) Packing List 1 x VL53L0X Time-of-Flight Laser Distance Sensor Set FAQ Q: What is VL53L0X?A: An ST Time-of-Flight laser-ranging sensor. Q: What distance can it measure?A: ST lists absolute range up to 2m. Q: What interface does it use?A: I2C. Q: Is the laser visible?A: No, it uses a 940nm VCSEL. Q: Is it eye safe?A: ST documents it as Class 1. Q: Can multiple modules share one bus?A: Yes, but you may need XSHUT address assignment. Q: Why are readings unstable?A: Dirty optics, cover glass, reflective geometry, or ambient conditions can affect results. Q: How is it different from ultrasonic?A: It uses optical time-of-flight rather than sound.