cancel
Showing results for 
Search instead for 
Did you mean: 

Changing VL53L5CX i2c address?

VBhat.1
Associate III

Hi, I am trying to use the vl53l5cx_set_i2c_address() function in order to change the i2c address, but it keeps returning -2, or VL53L5CX_COMMS_ERROR from the following line in vl53l5cx_set_i2c_address():

status |= WrByte(&(p_dev->platform), 0x7fff, 0x02);

The WrByte seems to fail. I would like to change the i2c address, in order to use multiple modules, but currently I can only use one. Any suggestions or advice would be appreciated. Thanks!

11 REPLIES 11
KWine
Senior

This works in the Arduino implementation:

/* (Optional) Set a new I2C address if the wanted address is different

 * from the default one (filled with 0x20 for this example).

 */

 status = vl53l5cx_set_i2c_address(&Dev, 0x20);

SAure.1
Associate

Is it possible to use more VL53L5CX-SATEL sensors simultaneously on the same i2c bus, without connecting each of those with seperate GPIO of the i2c master?

I followed the documentation section 2.3 and successfully changed the i2c address of one sensor, but on each power down the sensors looses its new address, right?

I'm using a Arduino Nano 33 BLE and want to connect up to 14 VL53L5CX sensor at the same time. Do I need to get an i2c multiplexer to so, or is it possible to change the i2c address by modyfing the firmware which is loaded on startup of each VL53L5CX?