cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L1X: Problems trying to restart after powering down

Guy1
Associate II

I am using a VL53L1X with the VL53L1X_ULD library.

I have one ToF sensor that I initialize at the default address 0x52 and reset to an address of 0x56. It works at that address (I am planning to add more sensors, but haven't hot there yet.)

When I power down my microcontroller to save power, I send the XXSHUT terminal low.

When I power up again, I send the XSHUT high, at which point the controller doesn't find it at 0x56. It finds a sensor at 0x52, the default, but attempts to reinitialization at that address fail.

I can only restart it if I turn power off completely to the whole sensor.

Is there a way around this? Is there a reset command or some other way to restart?

2 REPLIES 2
John E KVAM
ST Employee

There is a way around it.

Every time you drop XSHUT the sensor is completely off. And when you raise XSHUT it's identical to powering up from Start.

Use this to your advantage.

At boot, drop all the XSHUT lines.

Then, one at a time, bring the XSHUT up and issue the address change command.

If you drop the XSHUT when you drop power, you should be able to re-initialize at address 52.

The sensor doesn't know the difference between XSHUT going low and the power turning off.

  • 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.
Guy1
Associate II

As I said in my original post,

"When I power up again, I send the XSHUT high, at which point the controller doesn't find it at 0x56. It finds a sensor at 0x52, the default, but attempts to reinitialize at that address fail."

I have found that a way to use software to restart my microcontroller, which cycles the power to the sensor Vin as well as the XSHUT. For now, this is the solution that I am using. Slower than I would like, but it works and it is adequate.