How to Wire the VL53L1X Long-Range Proximity Sensor

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




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(; if (VLSENSOR.timeoutOccurred()) { Serial.print(" TIMEOUT"); } Serial.println(); delay(500); }

Get the code library & datasheets from this link.

Be the First to Share


    • One Board Contest

      One Board Contest
    • Raspberry Pi Contest

      Raspberry Pi Contest
    • New Year, New Skill Student Design Challenge

      New Year, New Skill Student Design Challenge



    7 months ago on Introduction

    This statement isn't correct: "measures directly to a distance base on the time for emitted photons to be reflected". It's fine to speak of photons being involved with emission, but emission does not mean that photons travel or that they are then reflected. Common misunderstanding. Instead, photons should be considered to be the energy "buckets" related to emission and absorption of E&M energy transmission. There is not a single observation ever that has required emission to result in a traveling photon, nor absorption to be the result of a traveling photon. E&M is traveling energy. It is emitted or absorbed in chunks. No need whatsoever to speak of E&M as traveling in chunks. No need to think of a photon as something that exists at all except for when the interaction occurs.