Can i use 3.3v for pull up in i2c when controller operating at 5v?

Hi ,

I have arduino micro works at 5v. i have i2c slave device its pin is 3.3v only. So can i use 3.3v for pull up SDA SCL line of microcontroller?

If i use 3.3v pull up, will i get 3.3v or 5v in SDA SCL lines??

Thanks

Alagappan

You could add 4k7 pullup resistors to 3.3V.
The internal pullup resistors of the microcontroller are about 50k. So there is 4k7 to 3.3V and 50k to 5V. The resulting voltage is 3.44V. That is safe enough for the sensor. The microcontroller requires 3.5V for a HIGH, which means that the 3.44 is not enough, but it will work.

The best is a level shifter.

More info: Arduino Playground - I2CBi-directionalLevelShifter