I am using VL53L0X with arduino nano board. It works fine but the only issur is that the reading fluctuates even if the reflecting surface is stationary. For ex: If actual distance of the object is 85 mm, then the sensor will read out 84, 85, 86 repeatedly. (I've set it to take 5 readings in one second).
I want to accurately measure the distance and expect a constant reading.
Even ready to change the sensors. The range requirement is upto 300 mm and the least count should be 1 mm
This sensor is not good enough to replace a ruler or tape measure. The type of material and surface gloss level yield varying distances. Have a look here regarding resolution, accuracy and types of objects.
I used a simple exponential moving average filter for my purpose in the end (parking aid) but will likely change to one of the MaxBotics sensors made specifically for such tasks.
You could try the follow up, the VL53L1X sensor, which features lenses and is not as prone to ambient light interference.
I want to accurately measure the distance and expect a constant reading.
It is unrealistic to expect a constant reading. All sensors exhibit noise, and the noise you report looks perfectly normal, so the best approach is to average several readings together.
While doing the average calculation, also calculate the standard deviation of the average to get an estimate of the typical variation.
Sensor accuracy is determined by calibrating the sensor against known distances. Calibration tutorial.