Bi-Directional Logic Level Converter Hookup Guide
Introduction
Do you have a 3.3V I2C or SPI sensor that might go up in smoke if connected to a 5V Arduino? Or a 5V device that needs a workaround to be compatible with your 3.3V Raspberry Pi 4, Raspberry Pi Zero, RedBoard Turbo, RedBoard Turbo or Arduino Due?
To get over this obstacle you need a device that can shift 3.3V up to 5V or 5V down to 3.3V. This is called logic level shifting. Level shifting is a dilemma so common we designed a simple PCB assembly to make interfacing devices a little easier: the Bi-Directional Logic Level Converter.
Though they're share the same shape and size, this bi-directional logic level converter shouldn't be confused with the more "uni-directional" version. This converter can pass data from high to low and/or low to high on all channels. It's perfect for level-shifting between devices that are sharing a data wire, like I2C or a one-wire interface.
Covered In This Tutorial
In this tutorial we'll take an in-depth look at the Bi-Directional Logic Level Converter. We'll examine the schematic and board layout -- explaining what each pin on the board does. At the end we'll go over some hookup examples to show how you might hook the board up for various interfaces.
Suggested Reading
If you aren’t familiar with the following concepts, we recommend checking out these tutorials before continuing.