I recently ordered a VL53L0X sensor carrier from Pololu, with the aim of using it as a lightweight rangefinder for my latest build. VL53L0X is a Time-of-Flight (ToF) sensor; it measures distance by measuring the time it takes for a pulse of light to travel to a target and back. This is some serious stuff for sure, and from an initial look at the API, there is a lot going on under the hood. Vl53L0X is an evolution of the previous VL6180X, with an increased range of two meters (the previous could sense up to 10 cm).
The sensor interface is I2C. For those of you versed in using I2C devices in your projects, you’ll be surprised that ST does not publish a register map and descriptions or other documentation about configuring and controlling the VL53L0X. Instead, communication with the sensor is intended to be done through ST’s VL53L0X API (STSW-IMG005), a set of C functions that take care of the low-level interfacing (source:Pololu). Alternatively, the folks at Pololu have developed an Arduino Library that makes it straightforward to take measurements.
Unfortunately for me, using it with the Raspberry Pi 2 and the NAVIO2 board means that I should interface the sensor with Ardupilot. And since there is no driver yet for this sensor…well, you guessed it.. time to fire up my IDE!
This’ll take some time though. Currently, I barely managed to solder the connections together and make sure that the RPi identifies the sensor. Well, guess that’ll do it for now. Stay tuned for updates!