Skip to main content
DSai.1
Associate III
March 8, 2023
Solved

How to do the Crosstalk compensation for VL53L1X with VL53L1X ULD

  • March 8, 2023
  • 3 replies
  • 1934 views

I use a glass for our VL53L1X sensor. But we found there is a crosstalk problem and

have to use crosstalk compensation. We use VL53L1X ULD for our device.

There are three functions about crosstalk.

int8_t VL53L1X_CalibrateXtalk(uint16_t dev, uint16_t TargetDistInMm, uint16_t *xtalk);

VL53L1X_ERROR VL53L1X_GetXtalk(uint16_t dev, uint16_t *Xtalk);

VL53L1X_ERROR VL53L1X_SetXtalk(uint16_t dev, uint16_t XtalkValue);

Could you tell how to use these functions to compensation crosstalk affect?

best regards

Dai Sai

This topic has been closed for replies.
Best answer by Zhiyuan.Han

Hi Dai Sai

To get correct xtalk value, you need to perform xtalk calibration,

Crosstalk calibration should be conducted in a dark environment, with no IR contribution.

Place a 17 % reflectance chart at the crosstalk calibration distance (xcd),

then call the VL53l1X_CalibrateXtalk(dev, xcd, &xtalk) to get the correct xtalk value.

Once you get the xtalk value you can save this value to your system FLASH, after VL53L1X rebooting, you need read the xtalk value out from FLASH, and set to device by command

VL53L1X_SetXtalk ().

For the clibration distance, the suggested calibration distance will be the inflection point of the raw ranging results (without xtalk compensation).


_legacyfs_online_stmicro_images_0693W00000biHM5QAM.pngFor more details, please check the guide on www.st.com

https://www.st.com/resource/en/user_manual/um2510-a-guide-to-using-the-vl53l1x-ultra-lite-driver-stmicroelectronics.pdf​

Br

Zhiyuan.Han

3 replies

Zhiyuan.Han
Zhiyuan.HanBest answer
Technical Moderator
April 18, 2023

Hi Dai Sai

To get correct xtalk value, you need to perform xtalk calibration,

Crosstalk calibration should be conducted in a dark environment, with no IR contribution.

Place a 17 % reflectance chart at the crosstalk calibration distance (xcd),

then call the VL53l1X_CalibrateXtalk(dev, xcd, &xtalk) to get the correct xtalk value.

Once you get the xtalk value you can save this value to your system FLASH, after VL53L1X rebooting, you need read the xtalk value out from FLASH, and set to device by command

VL53L1X_SetXtalk ().

For the clibration distance, the suggested calibration distance will be the inflection point of the raw ranging results (without xtalk compensation).


_legacyfs_online_stmicro_images_0693W00000biHM5QAM.pngFor more details, please check the guide on www.st.com

https://www.st.com/resource/en/user_manual/um2510-a-guide-to-using-the-vl53l1x-ultra-lite-driver-stmicroelectronics.pdf​

Br

Zhiyuan.Han

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
DSai.1
DSai.1Author
Associate III
April 20, 2023

Dear Han,

thank you very much for your information.

I will try based on your advise.

best regards

Dai Sai

John E KVAM
ST Employee
April 21, 2023

Also there is an article on the subject. The article tab at the top of this page is where you find it.

Or you can click on:

https://community.st.com/s/article/Time-of-Flight-Cover-glass