VL53L1X Distance Sensor Constant IR

Hi, I have the VL53L1X up and running perfectly well, I’ve noticed on my night cameras that it is constantly blasting IR. I’ve had a quick look through the micropython library and only noticed read and write functions. Is there any way to reduce the constant IR activity and only measure when e.g. the read function is called?



Hi Emm,

The MicroPython Library allows for the Pico to communicate with the sensor using I2C which would be all of the read & write functions you’ve seen in those scripts which is simply a data exchange with the sensor, in this case primarily to retrieve distance measurements.

As it’s a ToF sensor, it does tend to flash a small IR laser on the front of the board quite rapidly and consistently through use. I’ve experimented with my own a little, although I’m not sure how you’d be able to modify the library for that functionality, or whether that would be possible on the VL53L1X as I’m not sure whether the VCSEL which is used to control the laser can be interrupted between measurements.

I’ve linked the datasheet for you below

P.S. I’ve also @ Michael and Brenton from the production team for you to see whether they have any suggestions: @Michael @Brenton


Thanks very much BryceT. I’ve found the notes on the XSHUT pin for hardware standby including:
“XSHUT is needed to use HW standby mode (no I2C communication)”

I imagine that means I couldn’t use the I2C bus to turn it off and on in any case. I could probably just break the power supply to the sensor for an easy hack.



Don’t have a VL53L1X, but it looks pretty interesting.
Reading the data sheet shows the XSHUT pin can be used to turn the VL53L1X off when not in use. Driving the this pin low will put the VL53L1X in hardware standby mode. In this mode the device cannot communicate via I2C. When XSHUT goes high again boot time is around 1.2ms before I2C will work again.

So my understand is if your micro device takes XSHUT low the laser action will stop. Better than turning the power off completely. In HW standby the device consumes 5uA, pretty low.

Don’t know if this is what you are after.