cancel
Showing results for 
Search instead for 
Did you mean: 

Vl53l1x sensors from Pololu

MBabu.2
Associate II

Hey, For a project I am using multiple Vl53L1X sensors from ST and the driver I used is

https://github.com/rneurink/VL53L1X_ULD/tree/94b88bc06ef44950ec3a5fd50b2f0287c23c5ad7

It worked perfectly and am not having any issues.

But am planning to use multiple VL53L1X sensor from Pololu.

Can you tell me some of the difference between them (i.e.) Should I add external resistors for the Xshut pin and If I can use the same driver for both the sensors

Thank you so much

1 ACCEPTED SOLUTION

Accepted Solutions
kwc
Associate III

Hi, Kevin from Pololu here. One thing to note is that, unlike on ST's VL53L1X-SATEL, the XSHUT and GPIO1 pins on our VL53L1X carrier are not level-shifted. That means you should avoid driving XSHUT high if you are using a 5V controller.

Since our board pulls XSHUT up to 2.8V by default, you can simply drive it low when you need to disable the sensor, then return the pin to a high-impedance state (set it to an input) to let the carrier board pull it up and re-enable the sensor. Alternatively, if you are using code that does drive the pin high and prefer not to change it, you can add a resistive voltage divider (or other level shifter) between the microcontroller and the XSHUT pin.

John, thanks for the kind words about our boards!

- Kevin

View solution in original post

2 REPLIES 2
John E KVAM
ST Employee

I love what the folks at Pololu have done with our sensor. Some people don't like the form-factor of the ST boards, so having a choice is fantastic.

(There are other companies that integrate our sensor - and I like them too.)

The 'trick' to using multiple sensors is that the all come up at the same address. And that clearly does not work.

So put them all in reset by dropping the XSHUT line.

Then bring one up, and issue the "change address" command.

Then bring the next one up and change it's address as well.

Repeat as often as you need.

I have a system with 9, although I've heard of a system with 12 sensors in it.


Our community relies on fruitful exchanges and good quality content. You can thank and reward helpful and positive contributions by marking them as 'Accept as Solution'. When marking a solution, make sure it answers your original question or issue that you raised.

ST Employees that act as moderators have the right to accept the solution, judging by their expertise. This helps other community members identify useful discussions and refrain from raising the same question. If you notice any false behavior or abuse of the action, do not hesitate to 'Report Inappropriate Content'
kwc
Associate III

Hi, Kevin from Pololu here. One thing to note is that, unlike on ST's VL53L1X-SATEL, the XSHUT and GPIO1 pins on our VL53L1X carrier are not level-shifted. That means you should avoid driving XSHUT high if you are using a 5V controller.

Since our board pulls XSHUT up to 2.8V by default, you can simply drive it low when you need to disable the sensor, then return the pin to a high-impedance state (set it to an input) to let the carrier board pull it up and re-enable the sensor. Alternatively, if you are using code that does drive the pin high and prefer not to change it, you can add a resistive voltage divider (or other level shifter) between the microcontroller and the XSHUT pin.

John, thanks for the kind words about our boards!

- Kevin