Connecting Multiple I2C Devices With Same Address
You can only connect multiple devices to an I2C bus if they all have different addresses. The TCA9548A
Modules are very cheap on AE.
Basically, it splits a single I2C port into eight. You send it the board's address and the number of the port you want access to. It then connects the ports together until a different one is selected. It's more than that though. All the ports are open drain (like they should be) so you can add your own pullups. So you can have a mixture of 5V and 3V3 I2C ports. The module can be powered from 1V8 to 5V and the level shifting is automatic and invisible, just connect the input port pullups to your system voltage.
3v3 in and 3v3 out in any mix. We use them with I2C devices a lot. Specifically those that have a default I2C address that can be re-programmed in sw. We always keep them on default since there is no surprise if you ever need to replace one.
The above summary is extracted from this post started by @Mixtel90
I've found an interesting module for I2C
