Due I2C with logic level converter

Hello Community,

I have an arduino due and a lcd 16x2 i2c PCF8574. If i connect my lcd with 3.3v and hook it up to the i2c the i2c scanner detects “0x27” which is correct. The problem is the lcd needs 5v to operate correctly (with 3.3v the screen doesn´t light up. only the led of the PCF8574). I tried a bidirectional level converter from 5v to 3.3v but the response i get from the i2c scanner is only once these two address “0x02”,0x03" and than nothing. This also happens if i only connect the bidirectional level converter without anything else. Are these two address from the level converter?
Anyone an idea?

No, I think not.
Which level converter do you use ?
I assume a level converter with mosfets. The low side is the Due and the high side is the display.
Which I2C display do you use ? It might work with the 3.3V I2C levels, but you have to take care with pullup resistors on the display. If they pull the I2C up to 5V, then that will go into the Due.

If you have a I2C-LCD interface board like this one I2C-LCD adapter-board , you might consider removing the two pullup-resistors from that board, those between the 5 volt Vcc pin and the SCL & SDA pins. Check with a multimeter which resistors, usually they are 4k7. Your DUE has pullup resistors on the I2C bus. If the I2C lines between your DUE and the interfaceboard are short (not much longer than about 0,5 meter) you do not need to worry about pullup resistors on the other end of the I2C bus. By removing those resistors from the (5Volt) interfaceboard you make the I2C-bus safe to connect it to the Due. Check with a voltmeter, you must measure zero volt on SCL and SDA, with Vcc connected to the interfaceboard and SDA & SCL not connected to anything else, if you still measure 5V you may have removed the wrong resistor(s).

Level converters usually do not have a I2C address so your level converter seems to have a problem, maybe the speed of the I2C bus is too high for it.