2025-03-06 6:21 AM - last edited on 2025-03-06 6:24 AM by Peter BENSCH
Hello, I'm trying to measure a static level using the VL53L4CX. The following test shows an unusual drift in the level measured by the sensor.
I'm using clean water for the test and a specific tank.
I performed the test without any cover glass on the sensor and calibrated the offset (Per VCSEL) using the recommended container.
I'm using distance mode long, timing budget on max (200 ms)
I also performed a stop and restart every minute for temperature compensation.
The only parameter that seems unusual at the moment of the drift is the SPAD count (plot below).
This drift doesn’t occur every time I run the same test—it happens occasionally and without any regular pattern.
Is there any recommendation? What causes this drift? Should I do something differently?
2025-03-18 1:15 PM
Oddly, I've received the same complaint from someone else just this week. He was using the VL53L4CD, and I was thinking the VL53L4CX might solve his issue. But as you have shown, it's the same issue. (The chips are nearly identical - with a difference in how we process the raw data.)
This does not happen on paper. Or any other surface I've tried over the years. But I have duplicated your result on water. And unfortunately, it never occurred to me before this week that overnight testing would show such a result.
The SPAD counts go up, but if you look at the signal return it does not move nearly as much as the SPAD count would indicate it should.
There is no memory in the sensor. Each range should be independent. Especially if you do a start/stop.
But the drift clearly exists.
Would you consider doing a complete restart of the chip? Dropping Xshut and bringing it up again. It the problem is water vapor getting into the sensor, this won't help, but it would help isolate the issue between an electrical issue and some sort of environmental cause.
We have duplicated your issue but cannot find what is causing it. It appears you are on the outskirts of the +/- 7 or 8mm that we have spec'ed in our datasheet, but we will continue to see if we can make it better.
- john
- john
2025-03-25 6:27 AM
Hi John, thanks for the answer.
In the last few days, I have performed tests by toggling the XSHUT pin to reset the sensor, but it didn’t work either. Now, I am investigating the effect of water vapor on the sensor, but I haven’t obtained solid results yet. Once I finish the tests focusing on this condition, I will share the results.
2025-03-27 9:39 AM
I suspected that the temperature could be the cause of the drift, so I decided to measure the ESP temperature during the test. I found some interesting things.
For the test below, I used a fully black plastic bucket with around 10 mm of water, and it lasted about 2 days.
After the test, I noticed that the drift occurred at two specific times: 8 AM and 6 PM, which are when the air conditioner turns on and off at the company I work for.
As you can see, the drift is perfectly parallel with the ESP temperature variation, so this is the cause of it.
I think that the sensor isn't operating within the correct range during this temperature variation, or it's not applying the proper correction for it.
I'd like to ask: is there any way to make the correction more accurate, or even fully disable this temperature correction, so I can callibrate it locally?