[clug] HWR question

David Austin david at d-austin.net
Sun Mar 1 01:45:46 MST 2015

On 1 March 2015 at 19:28, Eyal Lebedinsky <eyal at eyal.emu.id.au> wrote:

> On 01/03/15 17:02, Alex Satrapa wrote:
>> On 1 Mar 2015, at 15:18, Eyal Lebedinsky <eyal at eyal.emu.id.au> wrote:
>>> So I am looking at interfacing a 3.3v mcu to a 5v device (over i2c).
>> Here’s one option:
>> http://letsmakerobots.com/node/39234
>> I have not tested this, so I make no claims as to the performance of this
>> solution.
>> I have one of those level converters, so if you want to test it out let’s
>> make a date to meet at MHV, any night next week but Monday is good for me,
>> and I think we are trying to get “Electronics Night” up and running again
>> for Thursdays.
> I agree, and these devices are what I will use. I actually bought one from
> AX a few months ago,
> but when I unwrapped it this week I found it to be an RS232 device, where
> the lines are probably
> not bidirectional.
> The device I highlighted in the question was different, it did not have
> active signal conversion
> and I could not see how it is safe al all.

Most often you will not need active level conversion.  That is a function
of the devices
being open-drain/pull-down.  It also depends on the different voltage
levels - 5V and
3.3V are close.

The easiest option is to have the pullups connected to the lowest supply
voltage (3.3V).

You will have to read the datasheet of the MCU and I2C device in question.

For example, the DS1307 you mention, requires a Logic 1 input V_IH
of at least 2.2V - therefore, it should work just fine on an I2C bus where
pullups are connected to 3.3V.

I2C devices are generally (intentionally) designed to be fairly tolerant of
the actual bus voltages.


More information about the linux mailing list