NEW PRODUCT – 74LVC245 – Breadboard Friendly 8-bit Logic Level Shifter. Most of our customers love using the Arduino for prototyping, design and invention but find themselves stuck when trying to connect the Arduino to the latest sensors, displays, controllers, interfaces, etc. as they are almost all 3.3V logic these days. We try to solve this problem by having all our breakout boards be 5V compatible or when that’s not possible, including a level shifter chip but there are still thousands of tempting devices out there.
This chip solves the problem of how to interface 3.3V logic devices to a 5.0V logic chip such as the Arduino. Most 3.3V devices do not like being run with 5V signals and can be damaged or flaky. The 74LVC245 is designed so that even when it runs at 1.8V, it still happily accepts 5V signals in one pin and converts it to a lower logic level on the opposite pin. This chip is only for digital signals, it doesn’t convert analog signals (you need an op amp for that). It has 8 pipes it can convert and it wont work nicely with bi-directional/pull-up based devices such as I2C or 1-Wire. It does work great for SPI, Serial, Parallel bus, and other logic interfaces.
Using it is simple. We suggest checking out the 74LVC245 datasheet for details but essentially: connect VCC to your logic level you want to convert to (say 3.3V), Ground connects to Ground. Wire OE (output enable) to ground to enable the device and DIR (direction) to VCC. Then digital logic on the A pins up to 5V will appear on the B pins shifted down to the VCC logic.
“it wont work nicely with bi-directional/pull-up based devices such as I2C or 1-Wire”? Typo?
hiya! we’re not sure what you mean, can you elaborate a little more? if there’s a typo we’ll fix it right away!
Yeah, that phrase tripped me up too! I just wasn’t expecting to see the phrase “won’t work” and “nicely” in the same sentence… but it does make sense.
@FourthDr: I don’t believe it’s a typo. Because of the way I2C and 1-Wire work, this type of device in incompatible. Both protocols rely on the fact that both devices (master AND slave) can drive the lines independently from one another.
For example, with I2C, the start condition requires that the master hold the SDA line low while the slave controls the SCL line. This means both devices are driving a line.
With the 74245, the DIR pin controls the direction of all the lines at once, so this would be impossible.