Level Shifter - 8 Channel (TXS0108E) Hookup Guide

Pages
Contributors: El Duderino
Favorited Favorite 0

Introduction

The SparkFun Level Shifter - 8 Channel (TXS0108E) features the TXS0108E 8-bit, bi-directional logic level translator from Texas Instruments to shift between devices running at different common microcontroller voltages such as 1.8V, 3.3V and 5V. The TXS0108E can transmit data between ports at max speeds of 110Mbps (push/pull) or 1.2Mbps (open drain) so you can use a 3.3V SPI device with a 5V microcontroller like the SparkFun RedBoard Plus without sacrificing data transmission speeds.

SparkFun Level Shifter - 8 Channel (TXS0108E)

SparkFun Level Shifter - 8 Channel (TXS0108E)

BOB-19626
$4.95

In this guide we'll go over the specifications of the TXS0108E and how to wire it into a level shifting circuit.

Required Materials

In order to follow along with this guide you'll need the devices you want to level shift between along with the TXS0108E Breakout. The example circuit in the Hardware Assembly section uses the following items to demonstrate shifting from a 5V microcontroller to a 3.3V SPI device:

SparkFun RedBoard Plus

SparkFun RedBoard Plus

DEV-18158
$21.50
6
SparkFun Triple Axis Accelerometer Breakout - KX134 (Qwiic)

SparkFun Triple Axis Accelerometer Breakout - KX134 (Qwiic)

SEN-17589
$21.95

Required Tools

Using this breakout requires through-hole soldering so you may need some of the following tools and soldering accessories:

Break Away Headers - Straight

Break Away Headers - Straight

PRT-00116
$1.75
20
Solder Lead Free - 15-gram Tube

Solder Lead Free - 15-gram Tube

TOL-09163
$3.95
4
Soldering Iron - 30W (US, 110V)

Soldering Iron - 30W (US, 110V)

TOL-09507
$10.95
7

Weller WLC100 Soldering Station

TOL-14228
2 Retired

Recommended Reading

This tutorial assumes readers have some know-how about the topics in the tutorials below. If you are not familiar with the concepts covered in them or need a refresher, we recommend reading through them before continuing with this guide:

How to Solder: Through-Hole Soldering

This tutorial covers everything you need to know about through-hole soldering.

Working with Wire

How to strip, crimp, and work with wire.

How to Use a Breadboard

Welcome to the wonderful world of breadboards. Here we will learn what a breadboard is and how to use one to build your very first circuit.

What is an Arduino?

What is this 'Arduino' thing anyway? This tutorials dives into what an Arduino is and along with Arduino projects and widgets.

Logic Levels

Learn the difference between 3.3V and 5V devices and logic levels.

Hardware Overview

Let's take a closer look at the TXS0108E level shifting IC and other components on this breakout.

TXS0108E Level Shifter

The TXS0108E is an 8-channel, bi-directional, level shifting voltage translator that works in both open drain and push/pull operations. It accepts a supply voltage range of 1.4V to 3.6V on the A Port and 1.65V to 5.5V on the B Port (VCC_A ≤ VCC_B).

Front of the Level Shifter Breakout

The TXS0108E uses pass gate circuit architecture with integrated edge rate (one shot) accelerators to support data transmission speeds up to 1.2Mbps in open drain operation and up to 110Mbps in push/pull operation. It also has built in pull-up resistors for open drain applications so external resistors are not necessary. For complete information on the TXS0108E, refer to the datasheet.

PTH Headers

The board breaks out out all the TXS0108E's pins to a pair of 0.1"-spaced PTH headers; one for each port. The OE input pin is also broken out on the Port A "side" as it is referenced to VCCA. The board pulls OE LOW through a 110kΩ resistor to disable the I/O pins by default. Make sure to tie the OE pin to VCCA to enable the device.

Back of the Level Shifter Breakout

Board Dimensions

The SparkFun Level Shifter - 8 Channel (TXS0108E) measures 1.10" x 0.50" (27.94mm x 12.70mm).

Board Dimensions

Hardware Assembly

In this section we'll demonstrate how to assemble this breakout into a level-shifting circuit between a 5V development board, the RedBoard Plus, and a 3.3V SPI device, the SparkFun Triple Axis Accelerometer Breakout - KX134 (Qwiic). We'll use a breadboard here to make building the level shifting circuit easier and to keep the connections as short as possible.

Soldering Assembly

This breakout requires some through-hole soldering to integrate the board into a level-shifting circuit. Since the demo circuit uses a breadboard we'll solder a set of breakaway male headers to the board so we can easily plug it into the breadboard.

Headers soldered to breakout

Arduino Assembly

Plug the Level Shifter Breakout into the breadboard and then make connections to the board with wires. Leave the circuit unpowered while building the circuit to avoid damaging anything with a short or improper connection.

Completed Level Shifting circuit
Having trouble seeing the detail in the image? Click on it for a larger view.

Reminder, VCC_A must be less than or equal to VCC_B and OE needs to connect to VCC_A. Our SPI device runs at 3.3V so we connect the peripheral pins to channels on Port A and connect matching microcontroller signals to Port B.

Troubleshooting

Signal Oscillations

Some users may experience oscillations or "ringing" on communication lines (eg. SPI/I2C) that can inhibit communication between devices. Capacitance or inductance on the signal lines can cause the TXS0108E's edge rate accelerators to detect false rising/falling edges.

When using the TXS0108E, we recommend keeping your wires between devices as short as possible as during testing we found even a 6" wire like our standard jumper wires can cause this oscillation problem. Also make sure to disable any pull-up resistors on connected devices. When level shifting between I/O devices, this shifter works just fine over longer wires.

The TXS0108E is designed for short distance, high-speed applications so if you need a level shifter for a communication bus over a longer distance, we recommend one of our other level shifters.

Voltage Requirements and OE

Reminder, voltage supplied to VCC_A must be less than or equal to VCC_B. Also, the breakout pulls OE LOW so make sure to tie the OE pin to VCC_A to enable the TXS0108E.

General Troubleshooting

Resources and Going Further

For more information about this breakout, check out the following resources: