cancel
Showing results for 
Search instead for 
Did you mean: 

How to improve ranging accuracy on VL53L4CD with ULP driver at very low power settings?

Lujo
Associate

Hello everyone,

I am currently working with the VL53L4CD sensor using the ULP (Ultra Low Power) driver. My goal is to use it for presence detection and distance measurement while keeping power consumption as low as possible.

I understand that using very low power settings will naturally reduce performance. However, with a configuration of macro period = 1 and ROI = 4x4, the results are extremely inaccurate, as shown in the attached image (distance_plot_macro_1_ROI_4.png).

To give a specific example:

  1. An object placed at 50mm is detected at a distance ranging from 90mm to 230mm. The readings are very inconsistent with each measurement.
  2. Conversely, when the sensor reports a distance of 100mm, the object's true position could be anywhere between 10mm and 80mm. This makes the data unreliable for our application.

I am aware that increasing the settings improves performance significantly. As you can see from the other attachments (distance_plot_macro_10_ROI_16.png and distance_plot_macro_100_ROI_16.png), the accuracy becomes much better as I increase the macro period.

My questions are:

  1. Is this severe lack of accuracy solely because the settings (macro period=1) are too low for reliable measurement?
  2. Are there any recommended techniques, software adjustments, or calibration procedures to improve the distance accuracy while still maintaining low power consumption with the ULP driver?

Any advice or suggestions on this matter would be greatly appreciated.

Thank you in advance.

1 REPLY 1
John_Kvam
Associate

Everything you have said is exactly correct. 

It's a tradeoff. More accuracy requires more integration time, and hence more power. 

I wrote a paper on how one might fix your issue.

Use very low power until something of interest comes 'reasonably close', then stop the sensor, jump to higher power, get an accurate answer, then go back to low power again. 

This saves a lot of power if object appear sporadically.

It's under the application notes section - https://www.st.com/resource/en/application_note/an5870-using-the-vl53l4cd-under-ultralowpower-mode-stmicroelectronics.pdf

It gives you the code - which is simple and quick.  

It's still not as accurate as using the Ultra Lite Driver, but it comes close. 

-john 

(This is my first post on using my 'retirement' account.)

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.