cancel
Showing results for 
Search instead for 
Did you mean: 

vl53l0x stopped working suddenly !

Yadav
Associate II

vl53l0x was working good at start. I have connected i2c thermal camera in parallel with vl53lox sensor.. It was working good for past 3days.and then suddenly sometimes it stops updating the reading. When i restart it, it was working normal. Suddenly it today it stopped working permanently. it says failed to boot. I have tried single sensor also but same error is coming. Can you suggest me what would be the issue?

4 REPLIES 4
John E KVAM
ST Employee

Basically the I2C is not a very robust bus. It's not ST's fault, the bus was designed by Philips long ago and they never expected it to handle has much stuff as it does.

Go to the NXP site and search for how to tune the I2C bus. (NXP bought Philips)

There is a combination of pull-ups and decoupling caps that have to be tuned to the number of devices you have on the bus, your line lengths, and your line thicknesses.

Don't give up - you can adjust the bus. But a good understanding of Electrical Engineering certainly helps.

And you might not even need a soldering iron. Your MCU will have some settings you can play with.

Good luck.

  • john


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question. It helps the next guy.

It was working good for 3days then suddenly it has stopped the working.. then how it could be i2c bus issue?

Hi,

now, i have did i2c scan, i can find my device in the scan. and now i have uploaded the test program.. it is working now without issues.. I didnt do anything else to solve this.

Now my problem is that, i am planning to use this device for my industrial product. Is it can be used as industrial one. because it is misbehaving frequently. So i couldnt trust it. Can i use it for industrial application or any other device can u suggest with any other interface?

John E KVAM
ST Employee

Each time the CLK goes low, a bit is clocked. But what happens if the bus is heading low, gets a little bit of noise, and just as the bit is clocking, the CLK line goes up just a touch and then back down? You clock an extra bit, and screw up the communications. And yes, on your lab bench you could go for days before you come across a static charge just enough to trigger an error. And on an I2C bus an extra bit confuses all the devices, leaving you in a condition I call "bus stuck low".

Only way to clear this condition is to dump a lot of '0' bits onto the bus.

So by getting your pull-ups and caps to work according to the instructions on the NXP site is a must.

By default most I2C interfaces are configured for one device, but when you added the second device, you have to change your values to get a reliable configurations.

https://www.nxp.com/docs/en/user-guide/UM10204.pdf

is a fair reference - have a look at section 7

It shows how to configure you pull-ups.


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question. It helps the next guy.