the best level shifter? why are there so many?

by ceratophyllum on Sat Dec 01, 2012 7:54 pm

I was thinking of using a BMP085 pressure/temp sensor with a 5V arduino and I started looking into level shifting. There are at least two breakout boards (one from Adafruit and one from Sparkfun) and a several ICs with 4050 somewhere in their names. I'm confused. I want to connect the BMP085 to the i2c bus along with a 16x4 i2c screen and DS1307 RTC both operating a 5V.

What's the best (bi-directional?) level shifter to use to connect BMP085 (which has to operate a 3.3V) to the i2c bus with the other two 5V devices?

I was thinking of using a CD74HC4050E which I think is pretty much the same as the 4050 level shifter in the Nokia 5110 tutorial.
I did that tutorial with CD74HC4050E and checked that the signal (on my DSO quad) going into the Nokia screen was getting pulses about 2/3 as big as the stuff coming out of the arduino pins. (I never bother to calibrate the DSO, b/c it seems like I get annoyed and try another firmware like every other day.) So it seems to work fine. Will this shifter work with i2c?
ceratophyllum
 
Posts: 21
Joined: Sat Oct 27, 2012 7:34 am

Re: the best level shifter? why are there so many?

by adafruit_support_rick on Sat Dec 01, 2012 8:12 pm

Have a look at the product description for our 4-channel I2C-safe Bi-directional Logic Level Converter.
It says this:
We do have some other handy level shifters in the shop, from the DIP 74LVC245 to the fancy bi-directional TXB0108. However, neither of these are happy to work with I2C, which uses a funky pull-up system to transfer data back and forth. This level shifter board combines the ease-of-use of the bi-directional TXB0108 with an I2C-compatible FET design following NXP's app note


The 74LVC245 is a unidirectional device similar to the 4050.

So, actually, if you're using an I2C device, our I2C-safe Bi-directional is the gizmo you want.
User avatar
adafruit_support_rick
 
Posts: 10910
Joined: Tue Mar 15, 2011 10:42 am
Location: Buffalo, NY