Linkit One and VL53L0X Time-of-Flight example

The VL53L0X is a new generation Time-of-Flight (ToF) laser-ranging module housed in the smallest package on the market today, providing accurate distance measurement whatever the target reflectances unlike conventional technologies. It can measure absolute distances up to 2m, setting a new benchmark in ranging performance levels, opening the door to various new applications.

The VL53L0X integrates a leading-edge SPAD array (Single Photon Avalanche Diodes) and embeds ST’s second generation FlightSenseTM patented technology.

The VL53L0X’s 940 nm VCSEL emitter (Vertical Cavity Surface-Emitting Laser), is totally invisible to the human eye, coupled with internal physical infrared filters, it enables longer ranging distances, higher immunity to ambient light, and better robustness to cover glass optical crosstalk.

 

Parts List

 

Name link
Linkit One LinkIt ONE MT2502A Wearable smart watches iot 8 in 1 wireless 2503 development board
VL53L0X module VL53L0X Time-of-Flight (ToF) Laser Ranging Sensor Breakout 940nm
connecting wire Free shipping Dupont line 120pcs 20cm male to male + male to female and female to female jumper wire

 

 

Schematics/Layout

linkit and VL53L0X
linkit and VL53L0X

 

Code

 

You will need to install the adafruit library – https://github.com/adafruit/Adafruit_VL53L0X

[codesyntax lang=”cpp”]

#include "Adafruit_VL53L0X.h"

Adafruit_VL53L0X lox = Adafruit_VL53L0X();

void setup() {
  Serial.begin(115200);

  // wait until serial port opens for native USB devices
  while (! Serial) {
    delay(1);
  }
  
  Serial.println("Adafruit VL53L0X test");
  if (!lox.begin()) {
    Serial.println(F("Failed to boot VL53L0X"));
    while(1);
  }
  // power 
  Serial.println(F("VL53L0X API Simple Ranging example\n\n")); 
}


void loop() {
  VL53L0X_RangingMeasurementData_t measure;
    
  Serial.print("Reading a measurement... ");
  lox.rangingTest(&measure, false); // pass in 'true' to get debug data printout!

  if (measure.RangeStatus != 4) {  // phase failures have incorrect data
    Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter);
  } else {
    Serial.println(" out of range ");
  }
    
  delay(100);
}

[/codesyntax]

 

Output

Open the serial monitor, move the sensor nearer and farther away from objects for example your hand

VL53L0X API Simple Ranging example

 

 

Links

https://www.st.com/resource/en/datasheet/vl53l0x.pdf

1pcs GY- 530 VL53L0X World smallest Time-o f-Flight (ToF) laser ranging sensor 10 orders