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)

// 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
// 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
// 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
// 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
Recent Comments