2 I2C devices same adress


I'm having a problem :~ ... I'm trying to connect 2 I2C devices to one microcontroller , but with the same address, so with an Arduino UNO it is impossible. I've tried something not proper : to carry the power supply of each sensor with a digital pin to disconnect the device, but it appears that I can't do that : the devices doesn't respond if one is connected the ground.

So one solution is probably to connect my devices to an other board, as the Arduino DUE with to i2C connections. (I've one card that I can use.)

But the Arduino Due works at 3.3V, my sensors at 5V, I guess it's an issue... How can I interface them ??? Directly or should I use a logic converter ?

Thank you for your help (and sorry for my English :blush:)

You can try another solution: a I2C multiplexer like the LTC4312 (LTC4312 Datasheet and Product Info | Analog Devices). This way you don't have to switch your Arduino.

There are 3 ways to configure I2C device's address

  • fixed address. no change allowed.
  • address pin(s), connect with gnd or vc to set address.
  • configurable address stored in EEPROM or FLASH registers.

Check I2C device's data sheet to see which case you are, a I2C multiplexer will be backup plan even you are out of luck.