This 2D LiDAR (light detection and ranging) is an application example, based on nine VL53L1X long distance ranging ToF sensors. It allows a simple depth map of the environment to be created with a 180 ° FoV.
The VL53L1X ULD API (ultra lite driver application programming interface) can be downloaded from st.com under STSW-IMG009. It is a set of C functions controlling one or many VL53L1X sensors which enable the development of end user applications. This 2D LIDAR application is an example of how to control multiple sensors.
The P-NUCLEO-53L1A1 is the basis of the hardware. It combines the STM32F401RE NUCLEO board and the X-NUCLEO-53L1A1 expansion board. The nine sensors are based on VL53L1X breakout boards, which can be ordered from distributors as a kit of two boards under the reference VL53L1X-SATEL.
All sensors share the same I2C interface, power, and ground, but each sensor has its own reset pin connected to a dedicated GPIO pin on the host.
To cover the 180 ° FoV of the LIDAR, each of the nine sensors covers a FoV of 20 °. Each sensor is programmed to range sequentially through 13 overlapping ROIs. This covers the 20 ° FoV of the nine sensors with good resolution, and even reports the position of thin objects.
Synchronously on each ToF sensor, a column of 4x16 SPAD ROIs is swept thirteen times by one SPAD to cover the full sensor FoV. The STSW-IMG017 includes example code to control such processing. The user can enlarge the ROI width to increase the frame rate and range measurement but, this reduces the resolution.
Since each of the 13 sequential ranging has a timing budget of 12 ms, each sensor can get almost six complete scans per second. Since all sensors range simultaneously, there are six updates per second.
The ranges are slightly modified by the STM32 to account for the geometry. They are then sent to the PC for plotting which can be visualized thanks to the GUI.
For any more information, please refer to the video “2D LIDAR Using Multiple ST VL53L1X Time-of-Flight Sensors” available on st.com.