Skip to main content
Associate III
September 30, 2026
Question

VL53L3CD Auto Calibration for scaling?

  • September 30, 2026
  • 5 replies
  • 56 views

We use the VL53L4CD TOF inside a container which is either 390mm long or 260mm long. 

Our current process during manufacturing/testing is to perform the calibration procedure either using 390 or 260 depending on the container length. This is a manual process.

I am looking for a way to automate this.  A way for the device to auto calibrate and auto determine its own length.  Or,  at the end of the day,  we are only interested in the delta between tof readings (items are placed into containers) and only need the 390 or 260 in order to calibrate so we can get an accurate delta.

I gotta believe I am not the first to have this issue? The calibration procedure having to “know” the length creates issues in terms of manufacturing hundreds or thousands of bin.  Slows it all down.

Any idea?

Thanks,

Will

 

5 replies

Graduate
October 5, 2026

Will - I spend some 10 years working on these sensors before I retired last year and I always loved these kinds of questions. 

I think I might come up with something. 

Let’s try this. 

The crosstalk is 100% dependent on the coverglass. And if your coverglass is consistent, you can test a few the hard way and then use that number for your entire production run, only checking periodically to insure your production values are still the same. 

But offset is NOT consistent - it changes chip to chip. However, you only have two possibilities - and they are 13 cm apart. 

Create your software so it downloads the known crosstalk values, and upon first boot it does the RefSPAD call and maybe 20 or 30 ranges. Average those results and decide if you are closer to 390 or 260. That is your offset. Store it in ROM somewhere and apply that after every range. Or you can put the offset into the chip at every bootup.

If your container is clear, you’d be better off doing the initial boot over a white target so you get a good reflection. 

good luck - 

  • john
"If this or any post solves your issue, please mark them as ""Accept as Solution"". It really helps the next guy.And if you notice anything wrong do not hesitate to ""Report Inappropriate Content"".I am a recently retired ST Employee. My former username was John E KVAM."
will3Author
Associate III
October 5, 2026

Ah,  we do not have a lens nor do we use Crosstalk.  How about now? :) 

​@John_Kvam 

Graduate
October 6, 2026

If you don’t have a lens, then you don’t have crosstalk - unless there is some structure near the field of view. 

So at first boot-up, do the refSPAD calibration, and then do a bunch of ranges. Average those and you will get a number within a couple of centimeters of one of your distances. Decide which distance you have and run the offset calibration for that distance. Extract the calibration data and save it in your ROM. At subsequent boots, restore that calibration data and off you go. 

"If this or any post solves your issue, please mark them as ""Accept as Solution"". It really helps the next guy.And if you notice anything wrong do not hesitate to ""Report Inappropriate Content"".I am a recently retired ST Employee. My former username was John E KVAM."
will3Author
Associate III
October 6, 2026

So I use the VL53L4CD.  I do not seem to have a refSPAD calibration api?

​@John_Kvam 

Graduate
October 7, 2026

Oh goodness. If I was still employed, they should have fired me. Looking at the DataSheet, there is:

“Customer manufacturing calibration flow Up to two calibrations are needed to ensure the best sensor performances. Offset needed in all applications. If a cover glass is used, crosstalk calibration is also needed. The detailed procedure is provided in the VL53L4CD Ultra Lite Driver user manual (UM2931).”

I guess that answers both of us. No crosstalk cal if you don’t have a cover glass, you don’t have to do the crosstalk and no mention of the RefSPAD cal either. 

So do the offset cal. Or, if you’d rather, you can just do your own offset cal and keep the difference between the average of the first couple dozen ranges and whatever you decide was the depth of your container. You can do the addition or subtraction after every range as well as the sensor can.

  • john
"If this or any post solves your issue, please mark them as ""Accept as Solution"". It really helps the next guy.And if you notice anything wrong do not hesitate to ""Report Inappropriate Content"".I am a recently retired ST Employee. My former username was John E KVAM."