Re: Raduino logic levels

Rod Davis

Hi All,

I have done over 6 projects with Arduino/I2C adapter/1602 display.
I remove the I2C pullups from the ebay PCF8574 I2C adapter assembly, and let the
pullups to 3.3v (located somewhere else, like near the SI570)
do the work. The PCF8574 easily copies the 3.3V I2C
signals, as they rise above the approx 2.5v threshold for a 0-1 transition.

In general, 5V devices will easily copy the 3.3V logic-one level, because it is higher than the 2.5V threshold.

Therefore, in a mixed system with 5V and 3.3V devices, I suggest pulling the I2C bus up to 3.3V,
and do not use level shifters.

Works like a charm.


I bought a 4x20 display that's I2C and was really surprised that what they
used to convert the parallel to I2C was a PCF8574, an 8 bit i/o expander. 
I use the PCF8575, the 16 bit version, when I need more DIO pins.


On 12/29/2017 03:30 AM, MAc B wrote:

So - IF I have two (or more) I2C devices working with different levels, then one of them must be used with level shifter. It is clear.

The question is - "which strategy is better"

A.\  use 3.3V device (eg SI5351) without shifter (like Raduino) and other device (5V) shift to 3.3 and then connect to raduino (exactly "to I2C pins of si5351")


B.\ cut traces to si5351 at Raduino, insert level shifter, shift SI to 5V and then use OTHER device(5V) without shifting. (connecting to 5v I2C pins of arduino)


Join to automatically receive all group messages.