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

How to Use GY-53 VL53L0X: Examples, Pinouts, and Specs

Image of GY-53 VL53L0X
Cirkit Designer LogoDesign with GY-53 VL53L0X in Cirkit Designer

Introduction

The GY-53 VL53L0X is a time-of-flight (ToF) distance sensor module that utilizes laser technology to measure distances with high accuracy. It is capable of measuring distances ranging from 30mm to 2 meters. The sensor operates by emitting a laser pulse and calculating the time it takes for the pulse to reflect back, ensuring precise and reliable measurements.

This module is widely used in applications such as:

  • Robotics for obstacle detection and navigation
  • Automation systems for proximity sensing
  • Drones for altitude measurement
  • IoT devices requiring distance measurement
  • Industrial equipment for object detection

Explore Projects Built with GY-53 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 GY-53 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 Mega 2560-Based Multi-Sensor System with Distance, Magnetometer, and Camera Integration
Image of Junior Design - Sensors: A project utilizing GY-53 VL53L0X in a practical application
This circuit features an Arduino Mega 2560 microcontroller interfaced with multiple VL53L0X distance sensors, an OV7725 camera module, and an Adafruit LIS3MDL triple-axis magnetometer. The Arduino reads data from these sensors and the camera, likely for a robotics or environmental sensing application, and processes the data for further use or transmission.
Cirkit Designer LogoOpen Project in Cirkit Designer
A-Star 32U4 Mini Controlled Servo with VL53L8CX Time-of-Flight Distance Sensing
Image of Servo con distance sensor: A project utilizing GY-53 VL53L0X in a practical application
This circuit features an A-Star 32U4 Mini microcontroller connected to a VL53L8CX Time-of-Flight distance sensor and a servo motor. The microcontroller powers both the sensor and the servo, and it is configured to communicate with the sensor via I2C (using pins 2 and 3 for SDA and SCL, respectively) and to control the servo via a PWM signal on pin 10. The purpose of the circuit is likely to measure distances and respond with movements of the servo based on the sensor readings.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino 101 Controlled Robotic Arm with VL53L1X Distance Sensor
Image of Mg996R Vl503lox robotic arm: A project utilizing GY-53 VL53L0X in a practical application
This circuit features an Arduino 101 microcontroller interfaced with a VL53L1X distance sensor and five MG996R servo motors. The Arduino 101 controls the servos via PWM signals and reads distance measurements from the sensor over I2C, with power supplied through a power jack.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with GY-53 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 GY-53 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 Junior Design - Sensors: A project utilizing GY-53 VL53L0X in a practical application
Arduino Mega 2560-Based Multi-Sensor System with Distance, Magnetometer, and Camera Integration
This circuit features an Arduino Mega 2560 microcontroller interfaced with multiple VL53L0X distance sensors, an OV7725 camera module, and an Adafruit LIS3MDL triple-axis magnetometer. The Arduino reads data from these sensors and the camera, likely for a robotics or environmental sensing application, and processes the data for further use or transmission.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Servo con distance sensor: A project utilizing GY-53 VL53L0X in a practical application
A-Star 32U4 Mini Controlled Servo with VL53L8CX Time-of-Flight Distance Sensing
This circuit features an A-Star 32U4 Mini microcontroller connected to a VL53L8CX Time-of-Flight distance sensor and a servo motor. The microcontroller powers both the sensor and the servo, and it is configured to communicate with the sensor via I2C (using pins 2 and 3 for SDA and SCL, respectively) and to control the servo via a PWM signal on pin 10. The purpose of the circuit is likely to measure distances and respond with movements of the servo based on the sensor readings.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Mg996R Vl503lox robotic arm: A project utilizing GY-53 VL53L0X in a practical application
Arduino 101 Controlled Robotic Arm with VL53L1X Distance Sensor
This circuit features an Arduino 101 microcontroller interfaced with a VL53L1X distance sensor and five MG996R servo motors. The Arduino 101 controls the servos via PWM signals and reads distance measurements from the sensor over I2C, with power supplied through a power jack.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

The GY-53 VL53L0X module is built around the VL53L0X sensor, which is a compact and efficient ToF sensor. Below are the key technical details:

Parameter Specification
Operating Voltage 3.3V to 5V
Operating Current ~10mA
Measuring Range 30mm to 2000mm (2 meters)
Accuracy ±3%
Communication Interface I2C
I2C Address (Default) 0x29
Field of View (FoV) 25°
Operating Temperature -20°C to 70°C
Dimensions 22mm x 10mm x 8mm

Pin Configuration

The GY-53 VL53L0X module has the following pinout:

Pin Name Description
1 VIN Power supply input (3.3V to 5V)
2 GND Ground connection
3 SCL I2C clock line
4 SDA I2C data line
5 XSHUT Shutdown pin (active low, optional for power control)
6 GPIO1 Interrupt output (optional, configurable)

Usage Instructions

Connecting the GY-53 VL53L0X to an Arduino UNO

To use the GY-53 VL53L0X with an Arduino UNO, follow these steps:

  1. Connect the VIN pin of the sensor to the 5V pin on the Arduino.
  2. Connect the GND pin of the sensor to the GND pin on the Arduino.
  3. Connect the SCL pin of the sensor to the A5 pin on the Arduino (I2C clock line).
  4. Connect the SDA pin of the sensor to the A4 pin on the Arduino (I2C data line).
  5. Optionally, connect the XSHUT pin to a digital pin on the Arduino for power control.

Arduino Code Example

Below is an example Arduino sketch to read distance measurements from the GY-53 VL53L0X using the Wire library:

#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 monitor to open
  }

  Serial.println("Initializing VL53L0X...");

  // Initialize the sensor
  if (!lox.begin()) {
    Serial.println("Failed to find VL53L0X sensor! Check wiring.");
    while (1); // Halt execution if sensor is not found
  }

  Serial.println("VL53L0X ready!");
}

void loop() {
  VL53L0X_RangingMeasurementData_t measure;

  // Perform a distance measurement
  lox.rangingTest(&measure, false);

  // Check if the measurement is valid
  if (measure.RangeStatus != 4) { // 4 indicates an out-of-range error
    Serial.print("Distance: ");
    Serial.print(measure.RangeMilliMeter);
    Serial.println(" mm");
  } else {
    Serial.println("Out of range");
  }

  delay(100); // Wait 100ms before the next measurement
}

Important Considerations

  • Ensure the I2C pull-up resistors are present on the SDA and SCL lines. Most Arduino boards have built-in pull-up resistors.
  • Avoid exposing the sensor to direct sunlight or reflective surfaces, as this may affect accuracy.
  • The XSHUT pin can be used to power down the sensor when not in use, reducing power consumption.
  • If multiple VL53L0X sensors are used on the same I2C bus, their addresses must be changed programmatically.

Troubleshooting and FAQs

Common Issues

  1. Sensor not detected by Arduino:

    • Verify the wiring connections, especially the SDA and SCL lines.
    • Ensure the I2C address (default: 0x29) matches the address in your code.
    • Check if the sensor is powered correctly (3.3V to 5V).
  2. Incorrect or fluctuating distance readings:

    • Ensure the sensor is not pointed at highly reflective or transparent surfaces.
    • Avoid using the sensor in environments with excessive ambient light.
  3. Out-of-range errors:

    • Ensure the object is within the sensor's measuring range (30mm to 2 meters).
    • Check for obstructions in the sensor's field of view.

FAQs

Q: Can the GY-53 VL53L0X measure distances beyond 2 meters?
A: No, the maximum range of the sensor is 2 meters. Objects beyond this range will result in out-of-range errors.

Q: Can I use the GY-53 VL53L0X with a 3.3V microcontroller?
A: Yes, the sensor is compatible with both 3.3V and 5V logic levels.

Q: How do I change the I2C address of the sensor?
A: The I2C address can be changed programmatically by using the XSHUT pin to reset the sensor and assigning a new address during initialization. Refer to the VL53L0X datasheet for detailed instructions.

Q: Is the laser emitted by the sensor safe?
A: Yes, the VL53L0X uses a Class 1 laser, which is safe under normal operating conditions. Avoid direct eye exposure to the laser.

By following this documentation, you can effectively integrate the GY-53 VL53L0X into your projects for accurate distance measurement.