The TXB0104 is a bi-directional signal level shifter made by Texas Instruments. It features four channels of input/output signals and an output enable line that allows the signal lines to be placed in a high impedance mode when they are unneeded.
Depending on the high and low side voltages, the bandwidth on the individual signal channels can range from 20Mbps up to 100Mbps, making the TXB0104 suitable for higher speed signals such as SPI.
SparkFun's TXB0104 breakout board makes it easy to use this powerful chip in your projects.
Before going further with this guide, you should be familiar with the topics covered in these tutorials:
The TXB0104 breakout board is pretty simple. There are two rows of pin headers, one down each side of the board; one side for the high voltage signals and one for the low voltage signals.
The image above shows how to use the TXB01014 BOB to connect an Arduino Uno to SparkFun's ADXL345 breakout board. The ADXL345 board is a 3.3V system, and the Arduino Uno is a 5V system, so some level shifting is required.
In this case, we're leaving the OE pin tied high as it defaults; there's no real need to make the pins high impedance for this application.
There is no need for changes in software to support the TXB0104; the chip will automatically detect the signal direction and pass the data through accordingly.
There you have it. The TXB0104 is a pretty simple board to use. Now, get out there and convert some logic levels. If you need more info, please check out the TXB0104 GitHub repository.
If you want more info on logic level converters, check out these other great hookup guides:
learn.sparkfun.com | CC BY-SA 3.0 | SparkFun Electronics | Niwot, Colorado