cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L1X-Satel breakout board with STM32H7B3I-DK.

MAlra.1
Associate

Hi everybody!

We are running out of time with our project, so every contribution is much appreciated!

We are using VL53L1X to detect the liquid level in a water tank.

We could SOMETIMES read the range data but not always.

We are experiencing the VL53L1X won't be initiated even if the I2C bus is good and ready.

We have been troubleshooting the problem for almost 10 days. Checked the API used based on Sparkfun library (https://github.com/sparkfun/SparkFun_VL53L1X_Arduino_Library).

We don't know what the cause is that the VL53L1X won't respond to the I2C commands.

The SDA and SCL are pulled up with an external 1 kohm on the breakout board we designed for our project.

Another issue we are experiencing with VL53L1X is that the CheckForDataReady() function returns that the data is not ready.

I really appreciate any help you can provide.

1 REPLY 1
John E KVAM
ST Employee

All I can think of is the I2C bus is kind of un-reliable. Long wires and noise can play heck with it. NXP- who bought Philips - has the best documentation on how to configure the bus. I'm going to guess that if the sensor does not respond then either the clock or data lines is stuck low - an illegal condition if it stays there for any length of time. This is generally caused by noise.

If you host I2C transaction times out, send 9 clocks on the bus and it will clear it.

Then you can continue on.

  • john

If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.