8-Channel Bi-Directional Logic Level Converter TXS0108E for Arduino
8-Channel Bi-Directional Logic Level Converter (TXS0108E)
Automatic Voltage Translation Between 1.2V-3.6V and 1.65V-5.5V for Arduino Projects
Introduction
The TXS0108E is an 8-bit bidirectional voltage-level translator that automatically detects direction and translates between different logic levels without requiring a direction control signal. Perfect for interfacing 3.3V and 5V Arduino devices with various sensors and peripherals.

Key Features
Bidirectional
Automatic direction sensing
8 Channels
Simultaneous translation for multiple signals
Wide Voltage Range
1.2V-3.6V to 1.65V-5.5V
High Speed
Up to 60Mbps data rate
Technical Specifications
Channels | 8 independent bidirectional channels |
---|---|
Voltage Range (A Side) | 1.2V to 3.6V |
Voltage Range (B Side) | 1.65V to 5.5V |
Data Rate | Up to 60Mbps |
Operation Mode | Automatic direction sensing |
Input/Output Current | ±50mA per channel |
Package | 20-pin TSSOP or module |
Operating Temperature | -40°C to +85°C |
Pin Configuration

Pin | Function | Description |
---|---|---|
VCCA | Power A | 1.2V-3.6V supply |
VCCB | Power B | 1.65V-5.5V supply |
GND | Ground | Common ground |
A1-A8 | Channel A | Low-voltage side I/O |
B1-B8 | Channel B | High-voltage side I/O |
OE | Output Enable | Active high (connect to VCCA if unused) |
Typical Wiring (3.3V ↔ 5V)
1 2 3 4 5 6 7 |
// Basic Connection: // VCCA → 3.3V (Arduino 3.3V) // VCCB → 5V (Arduino 5V) // GND → Common ground // A1 → 3.3V device signal // B1 → 5V device signal // OE → VCCA (always enable) |
Arduino I2C Level Shifting
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// I2C Connection: // Arduino SDA (5V) → B1 // Arduino SCL (5V) → B2 // 3.3V Device SDA → A1 // 3.3V Device SCL → A2 // VCCA → 3.3V // VCCB → 5V // GND → GND // OE → VCCA #include <Wire.h> void setup() { Wire.begin(); // 5V I2C // 3.3V device will now safely communicate } |
SPI Level Shifting Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// SPI Connection: // Arduino MOSI (5V) → B3 // Arduino MISO (5V) → B4 // Arduino SCK (5V) → B5 // Arduino SS (5V) → B6 // 3.3V Device MOSI → A3 // 3.3V Device MISO → A4 // 3.3V Device SCK → A5 // 3.3V Device SS → A6 #include <SPI.h> void setup() { SPI.begin(); // 5V SPI // 3.3V SPI device now safely connected } |
Application Notes
I2C Bus Translation
Use any two channels for SDA/SCL. The TXS0108E automatically handles bidirectional I2C signals without direction control.
SPI Interface
Translate MOSI, MISO, SCK, and SS signals between different voltage devices. Works with standard SPI peripherals.
GPIO Translation
1 2 |
// Digital Read Example: int val = digitalRead(A1); // Reads 3.3V signal safely |
Convert individual digital signals between voltage domains.
Troubleshooting
No Signal Passing
- Verify power to both VCCA and VCCB
- Check OE pin is connected to VCCA
- Ensure proper ground connection
Signal Distortion
- Check for excessive capacitive load
- Reduce wire length for high-speed signals
- Verify voltage levels are within spec
Overheating
- Check for short circuits
- Verify current draw within limits
- Ensure proper voltage levels