CircuitPython module for the VL6180X distance sensor. See examples/ for a demo of the usage.

  • Author(s): Tony DiCola

Implementation Notes


Software and Dependencies:

class adafruit_vl6180x.VL6180X(i2c, address=41)[source]

Create an instance of the VL6180X distance sensor. You must pass in the following parameters:

Parameters:i2c – An instance of the I2C bus connected to the sensor.

Optionally you can specify:

Parameters:address – The I2C address of the sensor. If not specified the sensor’s default value will be assumed.

Read the range of an object in front of sensor and return it in mm.


Retrieve the status/error from a previous range read. This will return a constant value such as:

  • ERROR_NONE - No error
  • ERROR_SYSERR_1 - System error 1 (see datasheet)
  • ERROR_SYSERR_5 - System error 5 (see datasheet)
  • ERROR_ECEFAIL - ECE failure
  • ERROR_NOCONVERGE - No convergence
  • ERROR_RANGEIGNORE - Outside range ignored
  • ERROR_SNR - Too much noise
  • ERROR_RAWUFLOW - Raw value underflow
  • ERROR_RAWOFLOW - Raw value overflow
  • ERROR_RANGEUFLOW - Range underflow
  • ERROR_RANGEOFLOW - Range overflow

Read the lux (light value) from the sensor and return it. Must specify the gain value to use for the lux reading: - ALS_GAIN_1 = 1x - ALS_GAIN_1_25 = 1.25x - ALS_GAIN_1_67 = 1.67x - ALS_GAIN_2_5 = 2.5x - ALS_GAIN_5 = 5x - ALS_GAIN_10 = 10x - ALS_GAIN_20 = 20x - ALS_GAIN_40 = 40x