Skip to main content
Associate
Oct 7, 2026 5:22 PM UTC
Solved

Using VL53L4CX with VL53L4CD's ULP driver

I am using VL53L4CX together with VL53L4CD’s ULD driver. This was discussed before in VL53L4CX using VL53L4CD ULD and it works just fine. I am now willing to improve power-consumption under long-lasting proximity monitoring.

  1. I understand that “VL53L4CX is a superset of VL53L4CD” but is it still true for low-power behavior ? Or does the VL53L4CD’s low-power capacity benefits from some permanent factory modification w/r to VL53L4CX ? According to this flyer, only VL53L4CD is rated for ultralow power.
     
  2. And in case I cannot achieve VL53L4CD’s advertised lowpower specs (down to 50-ish µA) with the VL53L4CX, is it still relevant to use the VL53L4CD’s ULP driver to be as efficient as possible ? and are there some additional tweaks that could be made to this driver in that particular case ?
John_KvamBest answer
Graduate
Oct 8, 2026 8:02 PM UTC

The CX version of the chip, gets its distance and accuracy from the fact that after each range, it uploads the range’s raw data to your microprocessor. It is your processor that runs the final algorithm. This algo is more complex than what is running on the sensor and you get more distance. The downside is that is your processor is running and there is more I2C traffic, which uses more power. And you cannot set the threshold interrupt because your processor determines the final range. 

Because the L4CD version runs its algo entirely inside the sensor your MCU can be in a low power state waiting for a distance threshold interrupt - if you’ve set one. 

Every L4CX can run in CD mode- it’s a true superset. 

(And if pushed, the L4CD can run in CX mode - sort of. You will hate the production fall out. So best to not do that. )

The ULP driver obtains its low power by giving up accuracy. The sensor integrates very quickly and with short integration times, you only get a rough estimate of where a target might be but you save a lot of power. For some customers, this rough estimate is enough. 

There is some software that shows how one might run in ULP mode and then switch - rather quickly - to ULD mode to get a more accurate reading.  This is how the VL6180 used to work. It might help you. 

(A careful reading of this code will show the major difference between ULowPower and ULiteDriver modes is the ridiculously fast integration time.  

STSW-IMG049

Active

Example code for Time-of-Flight (ToF) migration from VL6180 to VL53L4CD, a high accuracy and low power proximity sensor

  • 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."

1 reply

John_KvamBest answer
Graduate
Oct 8, 2026 8:02 PM UTC

The CX version of the chip, gets its distance and accuracy from the fact that after each range, it uploads the range’s raw data to your microprocessor. It is your processor that runs the final algorithm. This algo is more complex than what is running on the sensor and you get more distance. The downside is that is your processor is running and there is more I2C traffic, which uses more power. And you cannot set the threshold interrupt because your processor determines the final range. 

Because the L4CD version runs its algo entirely inside the sensor your MCU can be in a low power state waiting for a distance threshold interrupt - if you’ve set one. 

Every L4CX can run in CD mode- it’s a true superset. 

(And if pushed, the L4CD can run in CX mode - sort of. You will hate the production fall out. So best to not do that. )

The ULP driver obtains its low power by giving up accuracy. The sensor integrates very quickly and with short integration times, you only get a rough estimate of where a target might be but you save a lot of power. For some customers, this rough estimate is enough. 

There is some software that shows how one might run in ULP mode and then switch - rather quickly - to ULD mode to get a more accurate reading.  This is how the VL6180 used to work. It might help you. 

(A careful reading of this code will show the major difference between ULowPower and ULiteDriver modes is the ridiculously fast integration time.  

STSW-IMG049

Active

Example code for Time-of-Flight (ToF) migration from VL6180 to VL53L4CD, a high accuracy and low power proximity sensor

  • 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."