Reading zero value for ranging from Pololu VL53L0X


I am working on a Pololu VL53L0X and do the single ranging measurements. I have configured the device in the single ranging mode and used “High Speed” mode according to VL53L0X API document (UM2039 User Manual). The problem that I am facing is that sometimes (2-3%) I read zero when there is no object in front of the sensor.
I get:
pRangingMeasurementData->RangeMilliMeter = 0
pRangingMeasurementData->RangeStatus = 0

Could you please help me resolve this issue. My goal is to detect a very nearby object (less than 10 cm), but this causes some false-reading. when I ignore the zero readings, I miss the objects which are actually on the sensor (very close).



It seems like you might be at the limits of what the sensor is capable of. What software and microcontroller are you using? Is it possible in your application to take multiple measurements and add some more detailed logic like taking 3 measurements and 2 highest of that set?


Thank you for your reply. I’m using nRF5x chip as the i2c master and the ST APIs/library. I will try your suggestion, it looks promising.