Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use VL53L0X: Examples, Pinouts, and Specs

Image of VL53L0X
Cirkit Designer LogoDesign with VL53L0X in Cirkit Designer

Introduction

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.

Explore Projects Built with VL53L0X

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino UNO with A9G GSM/GPRS and Dual VL53L1X Distance Sensors
Image of TED CIRCUIT : A project utilizing VL53L0X in a practical application
This circuit features an Arduino UNO microcontroller interfaced with an A9G GSM/GPRS+GPS/BDS module and two VL53L1X time-of-flight distance sensors. The A9G module is connected to the Arduino via serial communication for GPS and GSM functionalities, while both VL53L1X sensors are connected through I2C with shared SDA and SCL lines and individual SHUT pins for selective sensor activation. The Arduino is programmed to control these peripherals, although the specific functionality is not detailed in the provided code.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO R4 WiFi Laser Module with Distance Sensor
Image of KIT 1: SENSOR KIT: A project utilizing VL53L0X in a practical application
This circuit features an Arduino UNO R4 WiFi connected to a VL53L0X distance sensor via I2C for distance measurement. Additionally, a tube laser module is powered by a battery case and controlled through a rocker switch, with a terminal block connector completing the circuit.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP8266 NodeMCU-Based Smart Eye Pressure Monitor with OLED Display and Wi-Fi Connectivity
Image of Copy of test 2 (7): A project utilizing VL53L0X in a practical application
This circuit features an ESP8266 NodeMCU microcontroller interfaced with a VL53L0X time-of-flight distance sensor, a 0.96" OLED display, a piezo sensor, and a photodiode for light detection. The ESP8266 collects data from the sensors, displays readings on the OLED, and hosts a web server to present the information. It is likely designed for distance measurement, light intensity detection, and pressure sensing, with the capability to monitor and display these parameters in real-time over WiFi.
Cirkit Designer LogoOpen Project in Cirkit Designer
Adafruit VL53L0X Distance Sensor with OLED Display
Image of VL53L0X Time of Flight Demo: A project utilizing VL53L0X in a practical application
This circuit interfaces an Adafruit VL53L0X distance sensor with an Arduino UNO and an OLED display. The Arduino reads distance measurements from the sensor via I2C communication and displays the results on the OLED screen, providing a visual output of the measured distance in millimeters.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with VL53L0X

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of TED CIRCUIT : A project utilizing VL53L0X in a practical application
Arduino UNO with A9G GSM/GPRS and Dual VL53L1X Distance Sensors
This circuit features an Arduino UNO microcontroller interfaced with an A9G GSM/GPRS+GPS/BDS module and two VL53L1X time-of-flight distance sensors. The A9G module is connected to the Arduino via serial communication for GPS and GSM functionalities, while both VL53L1X sensors are connected through I2C with shared SDA and SCL lines and individual SHUT pins for selective sensor activation. The Arduino is programmed to control these peripherals, although the specific functionality is not detailed in the provided code.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of KIT 1: SENSOR KIT: A project utilizing VL53L0X in a practical application
Arduino UNO R4 WiFi Laser Module with Distance Sensor
This circuit features an Arduino UNO R4 WiFi connected to a VL53L0X distance sensor via I2C for distance measurement. Additionally, a tube laser module is powered by a battery case and controlled through a rocker switch, with a terminal block connector completing the circuit.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Copy of test 2 (7): A project utilizing VL53L0X in a practical application
ESP8266 NodeMCU-Based Smart Eye Pressure Monitor with OLED Display and Wi-Fi Connectivity
This circuit features an ESP8266 NodeMCU microcontroller interfaced with a VL53L0X time-of-flight distance sensor, a 0.96" OLED display, a piezo sensor, and a photodiode for light detection. The ESP8266 collects data from the sensors, displays readings on the OLED, and hosts a web server to present the information. It is likely designed for distance measurement, light intensity detection, and pressure sensing, with the capability to monitor and display these parameters in real-time over WiFi.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of VL53L0X Time of Flight Demo: A project utilizing VL53L0X in a practical application
Adafruit VL53L0X Distance Sensor with OLED Display
This circuit interfaces an Adafruit VL53L0X distance sensor with an Arduino UNO and an OLED display. The Arduino reads distance measurements from the sensor via I2C communication and displays the results on the OLED screen, providing a visual output of the measured distance in millimeters.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Robotics for obstacle detection and navigation
  • Drones for altitude measurement and collision avoidance
  • Industrial automation for object detection
  • Consumer electronics for gesture recognition
  • IoT devices for proximity sensing

Technical Specifications

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

Pin Configuration and Descriptions

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)

Usage Instructions

How to Use the VL53LOX in a Circuit

  1. Power the Sensor: Connect the VIN pin to a 3.3V or 5V power source and the GND pin to ground.
  2. I2C Communication: Connect the SDA and SCL pins to the corresponding I2C pins on your microcontroller (e.g., Arduino UNO).
  3. Optional Pins:
    • Use the XSHUT pin to enable or disable the sensor (active low).
    • The GPIO1 pin can be configured as an interrupt output for specific events.
  4. Pull-Up Resistors: Ensure that the I2C lines (SDA and SCL) have pull-up resistors (typically 4.7 kΩ) if not already present on the module.

Important Considerations and Best Practices

  • Ambient Light: Avoid direct exposure to strong ambient light sources, as they may interfere with the sensor's measurements.
  • Reflective Surfaces: Highly reflective or transparent surfaces may affect accuracy.
  • Mounting: Ensure the sensor is mounted securely and aligned properly for accurate measurements.
  • I2C Address: The default I2C address of the VL53LOX is 0x29. If using multiple sensors, you must configure unique addresses for each.

Example Code for Arduino UNO

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
}

Notes on the Code

  • Install the Adafruit VL53L0X library via the Arduino Library Manager before running the code.
  • Ensure the I2C connections are correct and the sensor is powered properly.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Sensor Not Detected on I2C Bus:

    • Verify the wiring, especially the SDA and SCL connections.
    • Check if pull-up resistors are present on the I2C lines.
    • Ensure the sensor is powered correctly.
  2. Incorrect or No Distance Measurements:

    • Ensure the object is within the sensor's measurement range (30 mm to 2 m).
    • Avoid using the sensor in environments with excessive ambient light or reflective surfaces.
  3. Multiple Sensors on the Same I2C Bus:

    • Use the XSHUT pin to reset individual sensors and assign unique I2C addresses.

FAQs

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.