BlueDot VL53L1X Time-of-Flight Distance Sensor


Description


The VL53L1X is a laser-ranging sensor from STMicroelectronics, capable of measuring distances up to 4 meters. It employs a 940 nanometers invisible laser beam (class 1 safety) and a SPAD photodetector (single-photon avalanche diode) to measure the time traveled by the laser beam between the sensor and the target. This technique is called Time of flight (ToF) and allows the calculation of the path traveled by the laser beam. 

 

Here are the board's main features:

  • Distance Measurements up to 4 m. Distance measurements are independent of ambient light conditions and target characteristics, like color, shape or texture. These factors will however influence the maximum distance capable of being measured. The minimum distance for accurate measurements is 4 cm.
  • 3.3V and 5V Power Supply. The on-board voltage regulator accepts anything from 2.6V to 5.5V to supply the VL53L1X sensor with a constant voltage of 2.8V. 
  • I2C Communication. The sensor communicates through the I2C protocol using the address 0x29. 
  • Data Transfer with both 5V and 3.3V devices. While devices like the Arduino Uno interpret a 5V signal as a logic HIGH, the BMP388 uses 3.3V as a logic HIGH. The on-board logic level converter translates the 5V signals into 3.3V signals and vice-versa.
Get your BlueDot BME280 Board at Amazon!

Technical Data


Technical Data from BME280 Sensor

Assembly


The first step with the VL53L1X Distance Sensor Sensor is to solder the 6 pin header that comes along with the board. The easiest way to solder the board is to insert the header into a breadboard (long pins down) and solder the short pins to the board.

Assembly: Breakout Board with header pin
Assembly: Insert header pin into breadboard
Assembly: Solder BlueDot Board to header pin

Finally, don't forget to remove the protective film covering the sensor before using it, in order to guarantee proper sensor performance.


Connecting via I2C


Connecting the VL53L1X on the I2C bus is very easy. The first step is to connect the board to the power supply.

  • VCC Pin. Connect the VCC pin from the board to either 5V or 3.3V output from your Arduino. 
  • GND Pin. Connect the GND pin from the board to the GND from the Arduino.

Great! Now we need to connect the sensor to the I2C bus. The I2C communication uses basically two wires. The clock signal is generated by the Arduino and transferred to the sensor through the SCL line. The Arduino can send commands to the sensor using the SDA line. Just as well, all data from the sensor goes back to the Arduino through the SDA line. Because of that, the SDA line is bidirectional.

  • SDA Pin. Connect the SDA pin from the board to the SDA line on the Arduino. This corresponds to the pin A4 on the Arduino Uno.
  • SCL Pin. Connect the SCL pin from the board to the SCL line on your Arduino. This corresponds to the pin A5 on the Arduino Uno.
  • XSHUT. You can leave it unconnected.
  • GPIO1. You can leave it unconnected.
I2C Wiring for BlueDot BME280 Board

Installing Arduino Library


Although there is currently no Arduino Library from BlueDot available for this sensor, you can use the great library written by Pololu to connect to the VL53L1X. You can download and install the library directly from the Arduino IDE. Just open the Arduino IDE and go to Sketch > Include Library > Manage Libraries... and search for the Pololu Library on the Library Manager. You can find this library under the name "VL53L1X".

Arduino IDE: Opening Library Manager
Arduino IDE: Installing BlueDot BME280 library

Alternatively, you can download the latest version of the library from their Github repository.


xkcd.com

xkcd: commented

Upload Example-Sketch


After installing the library we can open an example sketch. Just go to File > Examples > VL53L1X and open the sketch Continuous.

Arduino IDE: Uploading sketch example for BME280

 

No changes are needed to run the sketch. Please note that the baud rate is set to 115200 per default.

Get your BlueDot BME280 Board at Amazon!

xkcd.com

xkcd: degrees

3D Model


A 3D model of the BlueDot VL53L1X board is available as a STEP file (click here to download). A STEP file is a CAD file format widely used for exchanging CAD files between companies and can be easily read by most (if not all) CAD software applications.

 

You can also view 3D models online without installing any software on your computer. The images below were taken using Autodesk Viewer, a online, free to use tool from Autodesk. It does require a registration at Autodesk, but it is worth it!

3D Model from BlueDot BMP388 Board V1.
Measuring dimension from BMP388 board using Autodesk Viewer.

Schematics


Schematics for BlueDot BME280 Board

Downloads


Get your BlueDot BME280 Board at Amazon!

xkcd.com

xkcd: lightsaber