Increasing the accuracy of GY-53 VL53L0X Laser ToF (PWM Output)

Hi there,
I am currently using this sensor: Gy53 and followed the documentation with respect to code.

I have connected the sensor to an Arduino UNO where I am currently using the UART Mode with PWM. My application works in range of 10 cm to 150cm.


  1. What changes in code can be done to increase the accuracy of the sensor especially over long distances?
  2. What are the optimal conditions for the sensor to work best?
  3. I also jumped on to using I2C mode where my connections were, VCC → 5V, Gnd → Gnd, SDA → A4, SCL → A5 where I used the code: VL53L0X-Arduino Interfacing but no output is being displayed on to the serial monitor (ensuring the proper setup of baud rate).

I apologize, we need some time to test it and get back to you with the results.

Sure. I’ll be looking forward to getting your insights and instructions on how I should proceed. If there’s something else in terms of information that is required from my end, please let me know.

1、Regarding your question about improving the accuracy of the sensor (especially at long distances), here are some suggestions that you may find useful:

Environmental influences: Laser-ranging sensors are strongly influenced by the nature of ambient light and reflective surfaces. Using a white reflective surface can greatly improve accuracy as it provides the best reflectivity for the laser.

Accuracy Variation: Depending on the lighting and distance to the object, you may find a 3% to 12% variation in measurement accuracy. This variation is affected by changes in environmental conditions.
Absorption of laser light by the object: Remember that if the object absorbs the laser light, the reading accuracy will be affected. The material and color of the object play a critical role in determining reflectivity.

Improve the physical environment: In order to improve measurement accuracy, you can try to improve the physical environment, for example by using more suitable lighting conditions or better reflective surfaces. This may require some experimentation to find the best settings for a specific application.

2、About You are using I2C mode, but no output is displayed on the serial monitor:
It is possible that the vl53l0x module has a different chip version or a different address that is causing the problem.
We are looking for a vl53l0x module-related datasheet, please be patient.

3、Please provide your vl53l0x module picture to us.

Here you go!
As you mentioned, 3% to 12% sounds like too much variation, honestly. I agree White surfaces definitely improve accuracy, but as I mentioned earlier, we are aiming for a range up till 2m.

Could you please brief us more about the ambient light conditions and whether we need to deal with a particular wavelength of light?

After testing, this module does fall short of the measurement range described in our tutorial, the
The measurement accuracy is not very accurate. Thank you for your feedback, we will eliminate this product, please contact customer service, we can arrange a refund for you.