Logic level shifter (3.3V, 8-channel for I2C and SPI)


I am using the BMP280 (on GY-BMP280 breakout) with the Arduino MEGA. Since it requires 3.3V voltage level I decided to use the logic level shifter (I get one similar to https://www.sparkfun.com/products/12009 with 4 MOSFET and pull-up resistors).

Later I found I have to use another breakout for micro SD card, which is also 3.3V (similar to Adafruit Micro SD SPI or SDIO Card Breakout Board - 3V ONLY! : ID 4682 : $3.50 : Adafruit Industries, Unique & fun DIY electronics and kits).

I know I could find the 5V micro SD card breakout with built-in 5V->3.3V regulator and shifter, but I decided to use logic level shifter for this as well.

Since micro SD uses SPI I need to find at minimum 6 channel logic level shifter (4 for micro SD SPI and 2 for BMP280 I2C).

I have found 8 channels shifters that use the TXB0108 IC (see e.g. https://www.amazon.com/Icstation-TXS0108E-Level-Converter-Bidirectional/dp/B06XWVZHZJ), but I have read that TXB0108 doesn't work well with I2C. I do not really understand the reasons behind that. Anyone can give me a bit of advice what to do please?

Many thanks!!


TXB010x need >=2mA of drive current to switch state from one direction to the other. Some I2C parts can't support that.
This design has been working in a project I did for a Wiegand serial interface. R30, R31 are tranzorbs to protect against voltage spokes.

I think it's the same parts as Sparkfun uses on their board.

What I normally do for SPI is use cd74HC4050 for 5V to 3.3V on SCK, MOSI, chip select, and 74ACT125 or similar for 3.3V to 5V coming back, with the '125 gate driven by CS so the MISO from the SD is not on the bus all the time, messing it up for other SPI devices.

I2C is 2 way all the time tho, so the MOSFET solution is really the way to go. Master drives SCL and SDA, slave responds by holding SCL and SDA low to ACK a byte received in a simple one byte transfer.

Why not use two duel boards, they are working for you. You can always design and make your own if you want.

The commonly used 8-channel TCA9548 includes level shifting.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.