cancel
Showing results for 
Search instead for 
Did you mean: 

Can XSHUT & GPIO pins in a multiple VL53L0X configuration handle 5V when interfaced to a 5V Microcontroller like Arduino Mega?

FPayn.1
Associate III

I see from this GY530 schematic that the module has level converters for the I2C lines, but not for GPIO & XSHUT lines. When using a 5V micro-controller like an Arduino UNO or MEGA to run multiple VL53L0Xs using XSHUT to configure addresses, will driving XSHUT to 5V kill the module (I note from the VL53L0X datasheet that XSHUT/GPIO have max permissible voltage of 3.6V)? If so, what do you recommend for multiple VL53L0X systems and a 5V microcontroller?

TIA,

Frank

3 REPLIES 3
John E KVAM
ST Employee

That's a hard one. One can use a level shifter to reduce the max input to the ToF device, or I suppose you could switch to a processor that uses 3v3. I would suggest an STM32 from ST, but then you might accuse me of working for ST. ( Which I do.) But I'm pretty sure Arduino makes a 3v3 processor as well.

  • 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.
FPayn.1
Associate III

John,

I finally figured out how to handle the XSHUT pins using a 5V processor. I configure one of the processor's GPIO pins to OUTPUT with a LOW output, which drives the associated XSHUT pin LOW. When I want a HIGH on that XSHUT pin, I simply switch the processor GPIO pin to INPUT. The high impedance on the processor's pin allows the 47K pullup on the VL53L0X module to pull the XSHUT pin to 3.3V.

Frank

John,

I ordered a couple STM32 'blue pill' boards to play with. Other than the minor PITA of having to flash a bootloader to program via USB from Arduino IDE, seems like an interesting board to have around! ;)

Frank