{"product_id":"pololu-vl53l4cd-time-of-flight-distance-sensor-carrier-with-voltage-regulator-120cm-max","title":"Pololu VL53L4CD Time-of-Flight Distance Sensor Carrier with Voltage Regulator (120cm Max)","description":"\u003cp\u003eThis sensor from \u003ca href=\"\/collections\/pololu\"\u003ePololu\u003c\/a\u003e is a carrier\/breakout board for ST’s VL53L4CD laser-ranging sensor, which offers fast (up to 100 Hz) and accurate ranging from 1 mm to 1200 mm.\u003c\/p\u003e\n\u003cp\u003eIt uses the time of flight (ToF) of invisible, eye-safe laser pulses to measure absolute distances independent of ambient lighting conditions and target characteristics like colour, shape, and texture (though these things will affect the maximum range).\u003c\/p\u003e\n\u003cp\u003eDistance measurements can be read through a digital I²C interface. The board includes a 2.8 V linear regulator and level-shifters that allow it to work over an input voltage range of 2.6 V to 5.5 V, and the 0.1″ pin spacing makes it easy to use with standard solderless breadboards and 0.1″ perfboards.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eImportant note:\u003c\/strong\u003e This product \u003cstrong\u003emight\u003c\/strong\u003e ship with a protective liner covering the sensor IC. \u003cstrong\u003eThe liner must be removed for proper sensing performance.\u003c\/strong\u003e\u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003eThe VL53L4CD from ST Microelectronics is a time-of-flight (TOF) ranging sensor integrated into a compact module. This board is a carrier for the VL53L4CD, so we recommend careful reading of the \u003ca href=\"https:\/\/www.st.com\/resource\/en\/datasheet\/vl53l4cd.pdf\"\u003eVL53L4CD datasheet\u003c\/a\u003e before using this product.\u003c\/p\u003e\n\u003cp\u003eThe VL53L4CD is effectively a tiny, self-contained lidar system featuring an integrated 940 nm Class 1 laser, which is invisible and eye-safe. Unlike conventional IR sensors that use the intensity of reflected light to estimate the distance to an object, the VL53L4CD uses ST’s FlightSense technology to precisely measure how long it takes for emitted pulses of infrared laser light to reach the nearest object and be reflected back to a detector. This approach ensures absolute distance measurements independent of ambient lighting conditions and target characteristics (e.g. color, shape, texture, and reflectivity), though these external conditions do affect the maximum range of the sensor, as do the sensor configuration settings.\u003c\/p\u003e\n\u003cp\u003eUnder favorable conditions, such as low ambient light with a high-reflectivity target, the VL53L4CD can report distances from 1 mm to 1.2 m (4 ft) with 1 mm resolution. The sensor’s range timing is configurable, allowing you to choose the right balance between speed, accuracy, maximum distance, and power consumption for your application. See the datasheet for more information on how various external conditions and sensor configurations affect its performance. Ranging measurements are available through the sensor’s I²C (TWI) interface, which is also used to configure sensor settings, and the sensor provides two additional pins: a shutdown input and an interrupt output that can be configured to trigger when a target is detected within a selected distance window.\u003c\/p\u003e\n\u003cp\u003eThe VL53L4CD is a great IC, but its small, leadless, LGA package makes it difficult for the typical student or hobbyist to use. It also operates at a recommended voltage of 2.8 V, which can make interfacing difficult for microcontrollers operating at 3.3 V or 5 V. Our breakout board addresses these issues, making it easier to get started using the sensor, while keeping the overall size as small as possible.\u003c\/p\u003e\n\u003cp\u003eThe carrier board includes a low-dropout linear voltage regulator that provides the 2.8 V required by the VL53L4CD and allows the sensor to be powered from a 2.6 V to 5.5 V supply. The regulator output is available on the VDD pin and can supply around 100 mA to external devices. The breakout board also includes a circuit that shifts the I²C clock and data lines to the same logic voltage level as the supplied VIN, making it simple to interface the board with 3.3 V or 5 V systems, and the board’s 0.1″ pin spacing makes it easy to use with standard \u003ca href=\"\/collections\/solderless-breadboards\"\u003esolderless breadboards\u003c\/a\u003e and 0.1″ \u003ca href=\"\/collections\/prototyping-pcbs-and-perfboard\"\u003eperfboards\u003c\/a\u003e. The board ships fully populated with its SMD components, including the VL53L4CD, as shown in the product picture.\u003c\/p\u003e\n\u003cp\u003eThe pins are spaced to work with standard 0.1″ (2.54 mm) male headers and 0.1″ female headers (available separately), making the board easy to use with solderless breadboards and 0.1″ perfboards. The board has two mounting holes that work with #2 and M2 screws (not included).\u003c\/p\u003e\n\u003ch2\u003eFeatures\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDimensions: 0.5″ × 0.7″ × 0.085″ (13 mm × 18 mm × 2 mm)\u003c\/li\u003e\n\u003cli\u003eWeight without header pins: 0.5 g (0.02 oz)\u003c\/li\u003e\n\u003cli\u003eOperating voltage: 2.6 V to 5.5 V\u003c\/li\u003e\n\u003cli\u003eTypical active-ranging supply current: 25 mA\n\u003cul\u003e\n\u003cli\u003eVaries with configuration, target, and environment; peak current can reach 40 mA\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli\u003eUltra-Low power (ULP) driver software enables sensor to perform basic proximity detection with reduced current consumption (\u0026lt;100 μA)\u003c\/li\u003e\n\u003cli\u003eMaximum sampling rate: 100 Hz\u003c\/li\u003e\n\u003cli\u003eMaximum range: 1.2 m (4 ft)\u003c\/li\u003e\n\u003cli\u003eResolution: 1 mm\u003c\/li\u003e\n\u003cli\u003eMinimum range: 1 mm (objects down to 0 mm are detected, but measurements might not be accurate)\u003c\/li\u003e\n\u003cli\u003eEmitter: 940 nm invisible Class 1 VCSEL (vertical cavity surface-emitting laser) – eye-safe\u003c\/li\u003e\n\u003cli\u003eDetector: SPAD (single photon avalanche diode) receiving array\n\u003cul\u003e\n\u003cli\u003eTypical full field of view (FoV): 18°\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli\u003eConfigurable detection interrupt thresholds for implementing autonomous low-power presence detection:\n\u003cul\u003e\n\u003cli\u003etarget closer than threshold\u003c\/li\u003e\n\u003cli\u003etarget farther than threshold\u003c\/li\u003e\n\u003cli\u003etarget within distance window\u003c\/li\u003e\n\u003cli\u003etarget outside of distance window\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli\u003eOutput format (I²C): 16-bit distance reading (in millimeters)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eSpecifications\u003c\/h2\u003e\n\u003ctable width=\"388\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"238\"\u003e\u003cstrong\u003eResolution\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"150\"\u003e1 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eMaximum range\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e120 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eMinimum range\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e1 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eInterface\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eI²C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eMinimum operating voltage\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e2.6 V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eMaximum operating voltage\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e5.5 V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eSupply current\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e25 mA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eSize\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e0.5″ × 0.7″ × 0.085″\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eWeight\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e0.5 g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch2\u003eUsing the VL53L4CD\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003eImportant note:\u003c\/strong\u003e This product might ship with a protective liner covering the sensor IC. \u003cstrong\u003eThe liner must be removed\u003c\/strong\u003e for proper sensing performance.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0176\/3274\/files\/Pololu_VL53L4CD_Time-of-Flight_Distance_Sensor_Carrier_with_Voltage_Regulator_-_remove_liner.jpg?v=1728654132\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch3\u003eResources\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/www.pololu.com\/file\/0J1188\/vl53l0x-vl53l1x-vl53l3cx-vl53l4cd-time-of-flight-sensor-schematic.pdf\"\u003eSchematic diagram\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/www.pololu.com\/file\/0J1194\/vl53l0x-vl53l1x-vl53l3cx-vl53l4cd-carrier-dimension-diagram.pdf\"\u003eDimensions\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/www.pololu.com\/file\/0J1195\/vl53l0x-vl53l1x-vl53l3cx-vl53l4cd-carrier-model.step\"\u003e3D Model\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/www.pololu.com\/file\/0J1193\/irs11a-drill.dxf\"\u003eDrill Guide\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/www.pololu.com\/file\/0J435\/UM10204.pdf\"\u003eUM10204 I²C-bus specification and user manual\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/www.st.com\/resource\/en\/datasheet\/vl53l4cd.pdf\"\u003eVL53L4CD datasheet\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/www.st.com\/en\/imaging-and-photonics-solutions\/vl53l4cd.html\"\u003eVL53L4CD documentation\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/github.com\/stm32duino\/VL53L4CD\"\u003eVL53L4CD library for Arduino\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/www.st.com\/en\/embedded-software\/stsw-img026.html\"\u003eVL53L4CD ULD API (STSW-IMG026)\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/www.st.com\/en\/embedded-software\/stsw-img034.html\"\u003eVL53L4CD Ultra-Low Power (ULP) API (STSW-IMG034)\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eConnections\u003c\/h3\u003e\n\u003cp\u003eAt least four connections are necessary to use the VL53L4CD board: VIN, GND, SCL, and SDA. The VIN pin should be connected to a 2.8 V to 5.5 V source, and GND should be connected to 0 volts. An on-board linear voltage regulator converts VIN to a 2.8 V supply, which can be accessed via the VDD pin, for the VL53L4CD IC. Supply voltages between 2.6 V and 3.5 V can also be connected to VDD (with VIN left disconnected) to bypass the regulator and power the board directly.\u003c\/p\u003e\n\u003cp\u003eThe I²C pins, SCL and SDA, are connected to built-in level-shifters that make them safe to use at voltages above VDD; they should be connected to an I²C bus operating at the same logic level as VIN (or VDD, if powering the board through VDD).\u003c\/p\u003e\n\u003cp\u003eThe XSHUT pin is an input and the GPIO1 pin is an open-drain output; both pins are pulled up to VDD by the board. They are not connected to level-shifters on the board and are not 5V-tolerant, but they are usable as-is with many 3.3 V and 5 V microcontrollers: the microcontroller can read the GPIO1 output as long as its logic high threshold is below VDD, and the microcontroller can alternate its own output between low and high-impedance states to drive the XSHUT pin. Alternatively, our \u003ca href=\"\/products\/pololu-logic-level-shifter-4-channel-bidirectional\"\u003e4-channel bidirectional logic level shifter\u003c\/a\u003e can be used externally with those pins.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0176\/3274\/files\/Pololu_VL53L4CD_Time-of-Flight_Distance_Sensor_Carrier_with_Voltage_Regulator_-_pinout.jpg?v=1728654132\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ctable width=\"603\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"79\"\u003e\u003cstrong\u003ePin\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"524\"\u003e\u003cstrong\u003eDescription\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eVDD\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eRegulated 2.8 V output. Up to around 100 mA is available to power external components. (If you want to bypass the internal regulator, you can instead use this pin as an input for voltages between 2.6 V and 3.5 V with VIN disconnected.)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eVIN\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eThis is the main 2.8 V to 5.5 V power supply connection. The SCL and SDA level shifters pull the I²C lines high to this level.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eGND\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eThe ground (0 V) connection for your power supply. Your I²C control source must also share a common ground with this board.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eSDA\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eLevel-shifted I²C data line: HIGH is VIN, LOW is 0 V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eSCL\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eLevel-shifted I²C clock line: HIGH is VIN, LOW is 0 V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eXSHUT\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eThis pin is an active-low shutdown input; the board pulls it up to VDD to enable the sensor by default. Driving this pin low puts the sensor into hardware standby. This input is not level-shifted and it is not 5V-tolerant.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eGPIO1\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eProgrammable interrupt output (VDD logic level). This output is not level-shifted.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch3\u003eSchematic\u003c\/h3\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/www.pololu.com\/file\/0J1188\/vl53l0x-vl53l1x-vl53l3cx-vl53l4cd-time-of-flight-sensor-schematic.pdf\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0176\/3274\/files\/Pololu_VL53L4CD_Time-of-Flight_Distance_Sensor_Carrier_with_Voltage_Regulator_-_schematic.jpg?v=1728654132\" alt=\"\"\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eThe above schematic shows the additional components the carrier board incorporates to make the VL53L4CD easier to use, including the voltage regulator that allows the board to be powered from a 2.6 V to 5.5 V supply and the level-shifter circuit that allows for I²C communication at the same logic voltage level as VIN.\u003c\/p\u003e\n\u003cp\u003eThis schematic is also \u003ca href=\"https:\/\/www.pololu.com\/file\/0J1188\/vl53l0x-vl53l1x-vl53l3cx-vl53l4cd-time-of-flight-sensor-schematic.pdf\"\u003eavailable as a downloadable PDF\u003c\/a\u003e.\u003c\/p\u003e\n\u003ch3\u003eI²C communication\u003c\/h3\u003e\n\u003cp\u003eThe VL53L4CD can be configured and its distance readings can be queried through the I²C bus. Level shifters on the I²C clock (SCL) and data (SDA) lines enable I²C communication with microcontrollers operating at the same voltage as VIN (2.6 V to 5.5 V). A detailed explanation of the I²C interface on the VL53L4CD can be found in its \u003ca href=\"https:\/\/www.st.com\/resource\/en\/datasheet\/vl53l4cd.pdf\"\u003edatasheet\u003c\/a\u003e, and more detailed information about I²C in general can be found in \u003ca href=\"https:\/\/www.pololu.com\/file\/0J435\/UM10204.pdf\"\u003eNXP’s I²C-bus specification\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp\u003eThe sensor’s 7-bit device address defaults to 0101001b on power-up. It can be changed to any other value by writing one of the device configuration registers, but the new address only applies until the sensor is reset or powered off. ST provides an \u003ca href=\"https:\/\/www.pololu.com\/file\/0J1239\/VL53L0X-AN4846.pdf\"\u003eapplication note\u003c\/a\u003e that describes how to use multiple VL53L0X sensors on the same I²C bus by individually bringing each sensor out of reset and assigning it a unique address, and the approach can be easily adapted to apply to the VL53L4CD instead.\u003c\/p\u003e\n\u003cp\u003eThe I²C interface on the VL53L4CD is compliant with the I²C Fast-mode Plus (1 MHz) standard.\u003c\/p\u003e\n\u003ch3\u003eSensor configuration and control\u003c\/h3\u003e\n\u003cp\u003eIn contrast with the information available for many other devices, ST has not publicly released a register map and descriptions or other documentation about configuring and controlling the VL53L4CD. Instead, communication with the sensor is intended to be done through \u003ca href=\"https:\/\/www.st.com\/en\/embedded-software\/stsw-img026.html\"\u003eST’s VL53L4CD ultra lite driver (ULD) application programming interface (API)\u003c\/a\u003e (STSW-IMG026), a set of C functions that take care of the low-level interfacing. To use the VL53L4CD, you can customize the API to run on a host platform of your choice using the information in the API documentation. Alternatively, it is possible to use the API source code as a guide for your own implementation.\u003c\/p\u003e\n\u003cp\u003eST also provides an alternative \u003ca href=\"https:\/\/www.st.com\/en\/embedded-software\/stsw-img034.html\"\u003eVL53L4CD ultra-low power (ULP) API\u003c\/a\u003e (STSW-IMG034), which configures the sensor as a basic proximity detector with very low current consumption (less than 100 μA in some cases). In this mode, the sensor does not output distance and other data as usual; it simply raises an interrupt when a target is detected. The ULP and standard drivers can be used together to make the VL53L4CD act as a low-power proximity detector, then turn into an accurate ranging sensor once it sees a target.\u003c\/p\u003e\n\u003ch3\u003eSample code\u003c\/h3\u003e\n\u003cp\u003eWe have written a basic \u003ca href=\"https:\/\/github.com\/pololu\/vl53l4cd-arduino\"\u003eArduino library for the VL53L4X\u003c\/a\u003e, which can be used for interfacing this sensor with an Arduino or Arduino-compatible controller. The library makes it simple to configure the VL53L4CD and read the distance data through I²C. It also includes example sketches that show you how to use the library.\u003c\/p\u003e\n\u003cp\u003eAlternatively, you can try \u003ca href=\"https:\/\/github.com\/stm32duino\/VL53L4CD\"\u003eSTM32duino’s VL53L4CD library for Arduino\u003c\/a\u003e, a port of ST’s API that works with the Arduino platform. To install it, search for “STM32duino VL53L4CD” in the Arduino Library Manager. Our own library is intended to provide a slightly more streamlined interface with potentially smaller storage and memory footprints, but the STM32duino library offers some more advanced functionality that our library does not support and has more robust error checking.\u003c\/p\u003e","brand":"Pololu","offers":[{"title":"Default Title","offer_id":50847191728401,"sku":"POL-3692","price":11.9,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0901\/6285\/6209\/files\/pololu-vl53l4cd-time-of-flight-distance-sensor-carrier-with-voltage-regulator-120cm-max-pololu-pol-3692-71244164694401.jpg?v=1735208169","url":"https:\/\/abcd3032.myshopify.com\/products\/pololu-vl53l4cd-time-of-flight-distance-sensor-carrier-with-voltage-regulator-120cm-max","provider":"Tayyab Zak","version":"1.0","type":"link"}