Overview

The VL6180X is STMicroelectronics' 1st-generation FlightSense 3-in-1 smart optical module. Packaged in a compact 4.8×2.8 mm4.8 \times 2.8\text{ mm} optical LGA housing, it integrates an 850 nm VCSEL laser emitter, a Time-of-Flight (ToF) proximity rangefinder, and a high-accuracy 16-bit Ambient Light Sensor (ALS).

Unlike IR intensity proximity sensors that are heavily affected by target color or reflectivity, the VL6180X measures the precise round-trip flight time of light. It measures short-range distance from 0 mm0\text{ mm} to 100 mm100\text{ mm} (10 cm10\text{ cm} nominal, up to 400 mm400\text{ mm} under dark conditions) with 1 mm resolution, alongside ambient lux levels from 0.1 Lux0.1\text{ Lux} to 100,000 Lux100,000\text{ Lux} over I2CI^2C (0x29).

Quick reference

Operating voltage (VIN)3.3 V to 5.0 V DC (breakout includes 3.3V LDO regulator)
IC supply voltage (VDD)2.6 V to 3.0 V DC (2.8 V nominal)
InterfaceI2CI^2C Fast-Mode (up to 400 kHz)
Default I2CI^2C address0x29
Proximity Range0 mm0\text{ mm} to 100 mm100\text{ mm} (0 to 10 cm0\text{ to }10\text{ cm} standard, up to 40 cm40\text{ cm})
Ambient Light Sensor (ALS)0.1 Lux0.1\text{ Lux} to 100,000 Lux100,000\text{ Lux} (16-bit output)
Laser Emitter850 nm VCSEL (Class 1 Eye Safe)
Distance Resolution1.0 mm absolute distance accuracy
Control PinsSHDN / GPIO0 (Active-Low shutdown), GPIO1 (Interrupt output)

Pinout

Breakout module 6-pin header:

PinNameTypeDescription
1VINPowerSupply power input (+3.3 V to +5.0 V DC)
2GNDPowerGround reference (0 V)
3SCLDigital InputI2CI^2C Serial Clock
4SDADigital Input / OutputI2CI^2C Serial Data
5GPIO0 / SHDNDigital InputActive-Low shutdown input
6GPIO1Digital OutputActive-Low programmable interrupt output

Specifications

ParameterSymbolMinTypMaxUnitConditions
Supply Voltage (Module)VVINV_{VIN}3.33.3 / 5.05.5VPower rail with LDO
Ranging CurrentIrangingI_{ranging}1525mAActive 10 Hz ranging
Standby CurrentIsdI_{sd}1.05.0µASHDN tied to GND
Proximity Distance RangeDistDist0100mmStandard target (100% white)
ALS Measurement RangeALSALS0.1100000LuxHigh dynamic range
Convergence Timetconvt_{conv}1015msDistance measurement cycle

Distance vs Ambient Light Dual Operation

The VL6180X contains two independent sensor subsystems:

  1. Time-of-Flight Rangefinder: Measures distance in millimeters regardless of target reflectance (black paper vs white paper vs mirror).
  2. Ambient Light Photodiode: Measures environmental illuminance (Lux) with internal gain selection (1.0×40.0×1.0 \times \dots 40.0 \times).

Wiring

VL6180X PinArduino / MCUESP32Notes
VIN5V / 3.3V3.3VPower rail
GNDGNDGNDSystem ground
SCLA5GPIO 22I2CI^2C Clock
SDAA4GPIO 21I2CI^2C Data

Example (Adafruit_VL6180X Library)

cpp
#include <Wire.h>
#include "Adafruit_VL6180X.h"

Adafruit_VL6180X vl = Adafruit_VL6180X();

void setup() {
  Serial.begin(115200);
  Serial.println("Adafruit VL6180X ToF & ALS Test");

  if (!vl.begin()) {
    Serial.println("Failed to find VL6180X sensor! Check I2C wiring.");
    while (1);
  }
}

void loop() {
  float lux = vl.readLux(VL6180X_ALS_GAIN_5);
  uint8_t range = vl.readRange();
  uint8_t status = vl.readRangeStatus();

  if (status == VL6180X_ERROR_NONE) {
    Serial.print("Distance: "); Serial.print(range); Serial.print(" mm | ");
  }
  Serial.print("Ambient Light: "); Serial.print(lux); Serial.println(" Lux");

  delay(200);
}

Common mistakes

  • Expecting long-range distance (> 10 cm): The VL6180X is optimized for short-range precision (010 cm0\dots 10\text{ cm}). For longer distances up to 2m or 4m, use the VL53L0X or VL53L1X instead.
  • Forgetting address collision with other ToF sensors: VL6180X uses fixed address 0x29, colliding with VL53L0X and VL53L1X if placed on the same I2CI^2C bus without using XSHUT/SHDN pin re-addressing sequences.

Notes

  • VL6180X vs VL53L0X vs VCNL4010: VL6180X measures 0–10 cm ToF + Lux; VL53L0X measures 30 mm–2000 mm ToF; VCNL4010 measures IR reflection amplitude.

Assets & downloads