cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L0X_PerformXTalkCalibration always return zero

YGude.1
Associate II

Hi All,

We foresee cross talk calibration ​for VL53L0X in our application as we are working on enclosure with filter glass on top of VL53L0X .

To get understanding of cross talk calibration working, I tried "VL53L0X_PerformXTalkCalibration" with distance parameter as 100 (10 cm), 200 (20cm), 300 (30cm) and by keeping white and grey object at mentioned distance. I always found return value of function pXTalkCompensationRateMegaCps always zero.

Why I am getting always zero? What I am missing during my testing?

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

It's hard to know at what distance you need to do the crosstalk.

So here is the best advice.

You need to find a target and a distance where the sensor under-ranges by about 10-20%.

Too close and there is not enough difference between the measured and actuall distances to measure the error.

(This is what you were doing wrong.)

Too far and the measurement is suspect.

So, pick a dark to medium target color. If you can't find a gray, then go with Cardboard. It's common, and about 50% reflective.

Then start ranging. Compare the distance you get with the actuall distance. If you get 40 - 45cm when the answer is 50, you will be fine.

if you get 48 at 50, then just keep backing up. Eventually you will find the spot.

But if you change target reflectivities, then you have to start over until you find that place where your range is sort by 10-20 %

The quality of coverglass, it's thickness and the air-gap between the glass and sensor all contribute to how good or bad it is.

Most times, you will need at least 50cm. But if your glass is good to very good, you might need as much as a meter.

If you don't have that much room, find a target with less reflectivity.

A good coverglass might need a 5% target. You can make such a target by using flat black spray paint.

I use Rust-oleum 2X. Works on plastic, and contains a primer.

Remember that the target must cover the entire Field of View. Therefore it must have a diameter greater than or equal to 1/2 the ranging distance.


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

View solution in original post

1 REPLY 1
John E KVAM
ST Employee

It's hard to know at what distance you need to do the crosstalk.

So here is the best advice.

You need to find a target and a distance where the sensor under-ranges by about 10-20%.

Too close and there is not enough difference between the measured and actuall distances to measure the error.

(This is what you were doing wrong.)

Too far and the measurement is suspect.

So, pick a dark to medium target color. If you can't find a gray, then go with Cardboard. It's common, and about 50% reflective.

Then start ranging. Compare the distance you get with the actuall distance. If you get 40 - 45cm when the answer is 50, you will be fine.

if you get 48 at 50, then just keep backing up. Eventually you will find the spot.

But if you change target reflectivities, then you have to start over until you find that place where your range is sort by 10-20 %

The quality of coverglass, it's thickness and the air-gap between the glass and sensor all contribute to how good or bad it is.

Most times, you will need at least 50cm. But if your glass is good to very good, you might need as much as a meter.

If you don't have that much room, find a target with less reflectivity.

A good coverglass might need a 5% target. You can make such a target by using flat black spray paint.

I use Rust-oleum 2X. Works on plastic, and contains a primer.

Remember that the target must cover the entire Field of View. Therefore it must have a diameter greater than or equal to 1/2 the ranging distance.


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.