Arduino Due I2C with Levelshifter doesn't work

Hi Folks,

I managed to drive an LTC6904 (Serial Port Programmable Oscillator) with an Arduino Due when connected directly to the SDA (Pin20) and SCL (Pin21). Everything worked smoothly.

As I need to integrate it into 5V Logic I placed a level shifter in between as shown in the following diagram

Result: Nothing works any more. I unsoldered the 1k5 pullup registers on the Due and replaced them with 4k7 restistor as shown in the diagram. I tried also with/without the pull ups on the 5V side.

Has anybody got an idea what's wrong?
Any ideas welcome

Have you got an oscilloscope? Are the grounds connected. Data sheet for level shifter

You probably need to use the open drain type of level shifter.

But why a level shifter in the first place, I thought the LTC6904 was good down to 2.7V ?

Do other 3.3V level sensors or boadrs work on the changed I2C on the DUE ?

I need to do it with 5V supply because there's a existing and complex logic board driven with 5Volts

Yes, I've got an oscilloscope and Yes, the grounds are connected. Here is more info about the LevelShifter I use:
datasheet.TXB0108.pdf (294.9 KB)

This works with I2C:

Oh, you think I've got the wrong level shifter for I2C. Hmm might be the cause

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.