Introduction: How to Wire the VL53L1X Long-Range Proximity Sensor

About: something about yourself so our community can get to know you! ??

The VL53L1X sensor is a long-range proximity and ranging sensing that base on TOF (Time-of-Flight) unlike IR (Infrared) sensor which measures only signal strength and can be affected by the object reflectivity, compare to VL53L1X its measures directly to a distance base on the time for emitted photons to be reflected, enabling an accurate distance ranging regardless of the object surface characteristics. This device is packed in an All-in-one miniature module which contains the laser driver and emitter as well as the single-photon avalanche diode or (SPAD) light receiver that gives the sensor their ranging speed and reliability at low power consumption.

Step 1: Component Requirements & Alternatives

Sony SPRESENSE Dev Board, Arduino PRO, FIO, NANO, UNO, MINI, MEGA, PRO MINI, LEO, BT, DUE, ETHERNET,LILYPAD, NodeMCU, Teensy Board, TeensyDuino, ESP8266 12, 12E, ESP32, LinkItOne, ESP8266 NodeMCU, ESPDuino, ATMEGA328 16/12, ATMEGA32u4 16/8/ MHz, ESP8266, MSP430 ,ATMEGA250 16 MHz, ATSAM3x8E, STM32.If your working with Sony SPRESENSE Please refer to this linkNote: For AVR (please see the flash size of the MCU and respective pin-outs & bus configuration )Note: The Diagram below is using ATMEGA328TQFP. (please refer to each MCU’s respective pin-outs & bus configuration)VL53L1X Sensor /ModuleCapacitors (See below required value)Resistors (See below required value)Regulators (See below required value) TTL USB UART (Optional if your using s MCU USB/UART integrated)

Step 2: Schematics Diagram / Wiring Guide & Code

#include

#include

VL53L1X VLSENSOR;

void setup() { Serial.begin(115200); Wire.begin(); Serial.println("14CORE | VL53L1X Test Code"); delay(2000); Serial.println("Initializing..............") Wire.setClock(400000); // use 400 kHz I2C VLSENSOR.setTimeout(500); if (!VLSENSOR.init()) { Serial.println("Failed to detect and initialize sensor!"); while (1); } VLSENSOR.setDistanceMode(VL53L1X::Long); VLSENSOR.setMeasurementTimingBudget(50000); VLSENSOR.startContinuous(50); }

void loop() { Serial.print(VLSENSOR.read()); if (VLSENSOR.timeoutOccurred()) { Serial.print(" TIMEOUT"); } Serial.println(); delay(500); }

Get the code library & datasheets from this link.