2025-12-27 8:40 AM - edited 2025-12-27 8:45 AM
This is a continuation from this post, where I erroneously marked the post as solved: https://community.st.com/t5/imaging-sensors/vl53l7cx-distance-data-stratification/td-p/866073
Unfortunately I'm still experiencing the issue where range data continue to be unstable, and appear to stratify or cluster into discrete magnitudes.
Test setup:
I have a test setup with a sensor looking at the back of a notebook at a fixed distance as shown in this picture.
The range data returned from the sensor varies between actual the distance, and shorter distances. You can see this in the video below. In addition, in the video I'm also printing the `target_status` for all 64 zones on the terminal output to the right.
Would anyone have insight, or perhaps offer troubleshooting steps? Thank you
EDIT: Added test setup details
2025-12-29 9:37 AM
again sorry for the noise, but any thoughts on why this might be happening? Have you seen this before? Could it be cover glass calibration related, or interference from other nearby sensor?
@michaeltang @John_Kvam @Zhiyuan.Han @EliasB
2025-12-30 1:45 PM
because this does not happen when the sensor is outside your structure, I'm pretty sure it's crosstalk.
There are two causes of crosstalk. One is the coverglass, but I'm guessing you compensated for that.
But there is another issue. And that is VCSEL (laser) light that is OUTSIDE the field of view.
If life were perfect, the 60x60 area would contain 100% of the outgoing light.
But that's not true. At the edges of the light there is significant roll-off, but a relatively bright near surface just outside of the main area can reflect back onto the surface of the lens.
And unfortunately, once that light hits the lens from an extreme angle, it can illuminate the entire lens and that might show your issue.
So what to do...
1) point the sensor out into space. with no targets, you should get no reflections, and thus any target you do is crosstalk. If this is what you see, re-read the crosstalk calibration section and see where you went wrong.
2) paint your structure with flat (matte finish) black spray paint. The dark color will reflect MUCH less light, an although your industrial designer may hate you, if the problem goes away, you will at least know what is going on.
3) You can set the sensor to report back 2 targets and you can evaluate which target is real and which is a result of crosstalk. This can be problematic however. A target between 0 and 60 cm will be merged with the crosstalk photons and depending on how many you have you can significantly under-range. (Oddly targets beyond 60 cm will remain unaffected by the crosstalk.)
And if you move the real target beyond 60cm and it's fairly reflective, you may see the problem disappear IF you set the sensor to report strongest signal and not nearest. Note this does not fix the issue - it just hides it.
Sorry for the slow response. Christmas and retirement have kind of gotten in the way.
- john
2025-12-30 4:08 PM
Hi John, thank you for your response. I will try each of your points.
To clarify this comment:
>There are two causes of crosstalk. One is the coverglass, but I'm guessing you compensated for that.
I have not run any of the compensation logic yet, so this data is for an uncompensated system.
I will look into the points you listed and report back any findings (probably until after the new year).
Thanks again!