Skip to main content
MBres.1
Associate
February 22, 2022
Solved

Limiting data sent from the VL53L5CX I am trying to upgrade the ultrasonic distance sensors on a Heathkit 2000 robot. Its baud rate is 9600, so it could be overwhelmed by an 8x8 data array sent at 60 Hz.

  • February 22, 2022
  • 4 replies
  • 2043 views

Is it possible to have a computer ask the sensor for only certain pixels when it is needed?

From what is posted by your vendor Sparkfun, the data array can be 4x4 or 8x8, and repetition rate can be 1, 15, or 60Hz. Are these options set by the approximately 90 KB of firmware sent to the sensor on power up? Are details of the firmware available?

Thanks

This topic has been closed for replies.
Best answer by John E KVAM

The sensor is going to report a fixed buffer every time you ask for the data. If you dig into the platform.h file there are some bits of data you can disable.

The structure elements you can set are below.

Decide which elements you can eliminate and you can reduce the structure size.

look at the attached structure size spreadsheet and you can work out the packet size.

 

Setting
Nb of targets per zone
Nb of sensors
 
Output - ambient rate enabled ?
Output - nb targets detected enabled ?
Output - SPAD nb enabled ?
Output - signal rate enabled ?
Output - sigma mm enabled ?
Output - distance mm enabled ?
Output - reflectance enabled ?
Output - target status enabled ?

Output - motion indicator enabled ?

4 replies

John E KVAM
ST Employee
March 28, 2022

The firmware comes up in a configuration by default. But if you want to lower the communication traffic, there are functions that will switch to 4x4 mode, to change the repetition rate and other things.

Just call them prior to issuing the start.

You should also look into only reporting 1 target. This is the biggest traffic saver.

  • john
MBres.1
MBres.1Author
Associate
March 30, 2022

Thanks, I read about those options, but also wonder if it is possible to instruct the VL53L5CX to only send a single row or column of sensor data.

Also as long as we are talking about this chip, is it possible to get more information about the gestures that can be recognized, and examples of how the gesture recognition is done in software. For example a mockup of a thermostat was demonstrated, but I did not find how the swipe or push/pull were implemented.

Thanks,

Mark

Iknig.1
Associate II
July 9, 2023

Hello MBres,
I am just starting my journey into the VL53L5CX and I have identified similar problem.
Now I have not implemented this idea yet but this is the way I am think of heading.
https://www.st.com/resource/en/user_manual/dm00797144-a-guide-to-using-the-vl53l5cx-multizone-timeofflight-ranging-sensor-with-wide-field-of-view-ultra-lite-driver-uld-stmicroelectronics.pdf
Looking at the above page 10 and 11 I believe you can instruct the VL53L5CX to home in on the object that is likely to be most troublesome to your robot. From the sharpness data you can use the status byte
(measurementData.target_status) to get the cell address. You could use these to compute a rectangle.
Bottom Left X,Y Top Right X,Y which you can squeez into two bytes then have a third byte for the object distance.
Hope that helps imk

 

John E KVAM
John E KVAMBest answer
ST Employee
July 12, 2023

The sensor is going to report a fixed buffer every time you ask for the data. If you dig into the platform.h file there are some bits of data you can disable.

The structure elements you can set are below.

Decide which elements you can eliminate and you can reduce the structure size.

look at the attached structure size spreadsheet and you can work out the packet size.

 

Setting
Nb of targets per zone
Nb of sensors
 
Output - ambient rate enabled ?
Output - nb targets detected enabled ?
Output - SPAD nb enabled ?
Output - signal rate enabled ?
Output - sigma mm enabled ?
Output - distance mm enabled ?
Output - reflectance enabled ?
Output - target status enabled ?

Output - motion indicator enabled ?