New product: VL53L3CX Time-of-Flight Multi-Target Distance Sensor Carrier
December 2020 update: ST originally specified a 3 m (10 ft) maximum range for the VL53L3CX, and we initially released this product with the name “VL53L3CX Time-of-Flight Multi-Target Distance Sensor Carrier with Voltage Regulator, 300cm Max”. However, they have since released an updated API with software improvements that increase the maximum range to 5 m (16 ft), so we have updated the name of this product accordingly. The latest version of the API should enable this increased range on existing boards as well as new ones; the hardware has not changed.
Please note that the rest of this post has not been updated to reflect the increased 5 m range (which now exceeds the VL53L1X’s 4 m range).
We are now offering a VL53L3CX Time-of-Flight Multi-Target Distance Sensor Carrier. The VL53L3CX is one of ST’s latest ranging sensors featuring their FlightSense technology, which determines distance by measuring how long it takes for emitted light to be reflected from a target and arrive back at the sensor. It can work at distances of up to 3 m, putting the VL53L3CX’s effective range in between those of ST’s older VL53L1X and VL53L0X integrated lidar modules.
Beyond just being an intermediate option, the VL53L3CX is interesting because it has the ability to detect multiple targets within its field of view. This is possible because instead of picking out a single distance based on the reflections received by the sensor, the VL53L3CX outputs histogram data representing how much reflected light it is receiving within different time intervals. The host processor can then read this data through a digital I²C interface and analyze it using special algorithms that ST provides as part of their VL53L3CX API.
This enhanced capability does come at a cost: the added complexity of the histogram processing means that the host requires much more RAM and program memory, making the VL53L3CX difficult to use with small microcontrollers. In our testing, we were unable to fit the VL53L3CX API on a typical 8-bit Arduino, and we are not providing an Arduino library to support the VL53L3CX; therefore, we recommend sticking with the VL53L1X or VL53L0X for applications with similar constraints. However, if you have more resources available on something like a 32-bit processor, the VL53L3CX’s multi-target detection might give you valuable information beyond what you could determine from a distance reading alone.