

The VL53-400 is a time-of-flight (ToF) distance sensor manufactured by Wit Motion. It utilizes advanced laser technology to measure distances with high accuracy and speed. This sensor is ideal for applications requiring precise distance measurements, such as robotics, drones, industrial automation, and proximity sensing. Its compact design and reliable performance make it a popular choice for both hobbyists and professionals.








The VL53-400 is designed to deliver accurate and fast distance measurements. Below are its key technical details:
| Parameter | Value |
|---|---|
| Operating Voltage | 2.8V to 3.3V |
| Operating Current | 20 mA (typical) |
| Measurement Range | 0.05 m to 4 m |
| Accuracy | ±3% (typical, depending on range) |
| Measurement Speed | Up to 50 Hz |
| Interface | I²C |
| Operating Temperature | -20°C to +70°C |
| Laser Wavelength | 940 nm (Class 1 laser) |
| Dimensions | 4.4 mm x 2.4 mm x 1.0 mm |
The VL53-400 has a simple pinout for easy integration into circuits. Below is the pin configuration:
| Pin Name | Pin Number | Description |
|---|---|---|
| VIN | 1 | Power supply input (2.8V to 3.3V) |
| GND | 2 | Ground |
| SDA | 3 | I²C data line |
| SCL | 4 | I²C clock line |
| XSHUT | 5 | Shutdown pin (active low) |
| GPIO1 | 6 | Interrupt output or programmable GPIO |
The VL53-400 is straightforward to use in a circuit, especially with microcontrollers like the Arduino UNO. Below are the steps to integrate and use the sensor:
Below is an example of how to use the VL53-400 with an Arduino UNO:
#include <Wire.h>
#include <VL53L0X.h> // Include the VL53L0X library for ToF sensors
VL53L0X sensor; // Create an instance of the VL53L0X class
void setup() {
Serial.begin(9600); // Initialize serial communication
Wire.begin(); // Initialize I²C communication
// Initialize the VL53-400 sensor
if (!sensor.init()) {
Serial.println("Failed to initialize VL53-400 sensor!");
while (1); // Halt execution if initialization fails
}
sensor.setTimeout(500); // Set a timeout for measurements
Serial.println("VL53-400 initialized successfully!");
}
void loop() {
// Measure distance in millimeters
uint16_t distance = sensor.readRangeSingleMillimeters();
// Check for timeout errors
if (sensor.timeoutOccurred()) {
Serial.println("Sensor timeout occurred!");
} else {
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" mm");
}
delay(100); // Wait 100 ms before the next measurement
}
VL53L0X library is used for communication with the sensor. Install it via the Arduino Library Manager.readRangeSingleMillimeters() function retrieves the distance in millimeters.setTimeout() function ensures the program does not hang if the sensor fails to respond.Sensor not responding or initializing:
Incorrect or fluctuating distance readings:
Timeout errors in the code:
XSHUT pin is not held low, as this disables the sensor.Q: Can the VL53-400 measure distances beyond 4 meters?
A: No, the maximum measurement range of the VL53-400 is 4 meters. For longer ranges, consider other ToF sensors.
Q: Is the laser safe for human eyes?
A: Yes, the VL53-400 uses a Class 1 laser, which is safe under normal operating conditions.
Q: Can I use the VL53-400 with a 5V microcontroller?
A: Yes, but you must use a level shifter to step down the I²C signals to 3.3V to avoid damaging the sensor.
Q: How can I reduce noise in the distance readings?
A: Use averaging techniques in your code or implement a low-pass filter to smooth out the measurements.
By following this documentation, you can effectively integrate and use the VL53-400 sensor in your projects.