Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter: Examples, Pinouts, and Specs

Image of Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter
Cirkit Designer LogoDesign with Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter in Cirkit Designer

Introduction

The Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter (Part ID: 757) is a compact and reliable device designed to facilitate communication between devices operating at different voltage levels. It enables seamless bi-directional data transfer, making it ideal for I2C communication and other digital signal applications. This converter is particularly useful when interfacing low-voltage microcontrollers (e.g., 3.3V) with higher-voltage peripherals (e.g., 5V).

Explore Projects Built with Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Raspberry Pi 4B and mlx90614 Infrared Thermometer with Logic Level Conversion
Image of thermal Sensor: A project utilizing Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter in a practical application
This circuit connects a Raspberry Pi 4B to an MLX90614 infrared temperature sensor using an Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter. The level converter is used to safely step down the 5V I2C signals from the Raspberry Pi to the 3.3V needed by the MLX90614 sensor, ensuring compatibility between the devices. Ground connections are shared among all components, and the sensor is powered by the Raspberry Pi's 5V supply through the level converter.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560 Controlled Motor System with I2C Communication and Hall Effect Sensing
Image of Uni1: A project utilizing Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter in a practical application
This is a motor control system with feedback and sensor integration. It uses an Arduino Mega 2560 to control MD03 motor drivers for DC motors, receives position and speed feedback from HEDS encoders and Hall sensors, and measures distance with SR02 ultrasonic sensors. Logic level converters ensure compatibility between different voltage levels of the components.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 and Logic Level Converter-Based Wi-Fi Controlled Interface
Image of Toshiba AC ESP32 devkit v1: A project utilizing Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter in a practical application
This circuit features an ESP32 Devkit V1 microcontroller connected to a Bi-Directional Logic Level Converter, which facilitates voltage level shifting between the ESP32 and external components. The ESP32 is powered through its VIN pin via an alligator clip cable, and the logic level converter is connected to various pins on the ESP32 to manage different voltage levels for communication.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560 Controlled Motor System with I2C Communication and Hall Effect Sensing
This circuit is designed to control multiple DC motors using MD03 motor drivers, with feedback from hall sensors and rotary encoders, under the management of an Arduino Mega 2560. The system includes logic level converters for I2C communication and uses an ultrasonic sensor for distance measurements. A 12V battery and power supply unit provide the necessary power for the system.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of thermal Sensor: A project utilizing Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter in a practical application
Raspberry Pi 4B and mlx90614 Infrared Thermometer with Logic Level Conversion
This circuit connects a Raspberry Pi 4B to an MLX90614 infrared temperature sensor using an Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter. The level converter is used to safely step down the 5V I2C signals from the Raspberry Pi to the 3.3V needed by the MLX90614 sensor, ensuring compatibility between the devices. Ground connections are shared among all components, and the sensor is powered by the Raspberry Pi's 5V supply through the level converter.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Uni1: A project utilizing Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter in a practical application
Arduino Mega 2560 Controlled Motor System with I2C Communication and Hall Effect Sensing
This is a motor control system with feedback and sensor integration. It uses an Arduino Mega 2560 to control MD03 motor drivers for DC motors, receives position and speed feedback from HEDS encoders and Hall sensors, and measures distance with SR02 ultrasonic sensors. Logic level converters ensure compatibility between different voltage levels of the components.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Toshiba AC ESP32 devkit v1: A project utilizing Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter in a practical application
ESP32 and Logic Level Converter-Based Wi-Fi Controlled Interface
This circuit features an ESP32 Devkit V1 microcontroller connected to a Bi-Directional Logic Level Converter, which facilitates voltage level shifting between the ESP32 and external components. The ESP32 is powered through its VIN pin via an alligator clip cable, and the logic level converter is connected to various pins on the ESP32 to manage different voltage levels for communication.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560 Controlled Motor System with I2C Communication and Hall Effect Sensing
This circuit is designed to control multiple DC motors using MD03 motor drivers, with feedback from hall sensors and rotary encoders, under the management of an Arduino Mega 2560. The system includes logic level converters for I2C communication and uses an ultrasonic sensor for distance measurements. A 12V battery and power supply unit provide the necessary power for the system.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Interfacing 3.3V microcontrollers (e.g., Arduino, Raspberry Pi) with 5V sensors or modules.
  • Enabling communication between devices with mismatched voltage levels in I2C, UART, or SPI protocols.
  • Safeguarding sensitive components from voltage mismatches.
  • Prototyping and development of mixed-voltage systems.

Technical Specifications

The Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter is designed with the following key specifications:

Parameter Value
Operating Voltage (High) 5V
Operating Voltage (Low) 1.8V to 3.3V
Channels 4 bi-directional channels
Communication Protocols I2C, UART, SPI, GPIO
Dimensions 19mm x 17mm x 2mm
Weight 1g

Pin Configuration and Descriptions

The logic level converter has the following pin layout:

Pin Name Description
HV High-voltage input (e.g., 5V). Connect to the higher voltage power source.
LV Low-voltage input (e.g., 3.3V). Connect to the lower voltage power source.
GND Ground. Connect to the ground of both high- and low-voltage systems.
HV1, HV2, HV3, HV4 High-voltage side of the 4 bi-directional channels.
LV1, LV2, LV3, LV4 Low-voltage side of the 4 bi-directional channels.

Usage Instructions

How to Use the Component in a Circuit

  1. Power Connections:

    • Connect the HV pin to the high-voltage power source (e.g., 5V).
    • Connect the LV pin to the low-voltage power source (e.g., 3.3V).
    • Connect the GND pin to the ground of both voltage systems.
  2. Signal Connections:

    • Connect the high-voltage signal lines to the HVx pins.
    • Connect the corresponding low-voltage signal lines to the LVx pins.
    • Ensure that each channel (e.g., HV1 ↔ LV1) is used for a single signal line.
  3. I2C Communication:

    • For I2C applications, connect the SCL and SDA lines of the high-voltage device to two HVx pins.
    • Similarly, connect the SCL and SDA lines of the low-voltage device to the corresponding LVx pins.

Important Considerations and Best Practices

  • Ensure that the HV and LV power sources are stable and within the specified voltage ranges.
  • Do not exceed the maximum voltage ratings to avoid damaging the converter or connected devices.
  • Use pull-up resistors on the I2C lines if required. The converter is I2C-safe and works with or without external pull-ups.
  • Keep the wiring as short as possible to minimize signal degradation, especially for high-speed communication.

Example: Connecting to an Arduino UNO

Below is an example of using the logic level converter to interface a 3.3V sensor with a 5V Arduino UNO via I2C:

Circuit Connections

  • Connect the Arduino's 5V pin to the HV pin of the converter.
  • Connect the Arduino's GND pin to the GND pin of the converter.
  • Connect the sensor's 3.3V pin to the LV pin of the converter.
  • Connect the sensor's GND pin to the GND pin of the converter.
  • Connect the Arduino's SCL and SDA pins to HV1 and HV2, respectively.
  • Connect the sensor's SCL and SDA pins to LV1 and LV2, respectively.

Arduino Code Example

#include <Wire.h> // Include the Wire library for I2C communication

void setup() {
  Wire.begin(); // Initialize I2C communication
  Serial.begin(9600); // Start serial communication for debugging
  Serial.println("I2C Logic Level Converter Example");
}

void loop() {
  // Example: Request data from a sensor at I2C address 0x40
  Wire.beginTransmission(0x40); // Start communication with the sensor
  Wire.write(0x00); // Send a command or register address
  Wire.endTransmission(); // End the transmission

  Wire.requestFrom(0x40, 2); // Request 2 bytes of data from the sensor
  if (Wire.available() == 2) {
    int data = Wire.read() << 8 | Wire.read(); // Read and combine the 2 bytes
    Serial.print("Sensor Data: ");
    Serial.println(data); // Print the received data
  }

  delay(1000); // Wait for 1 second before the next request
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. No Communication Between Devices:

    • Verify that the HV and LV power sources are correctly connected and within the specified voltage ranges.
    • Check the wiring of the signal lines to ensure proper connections between HVx and LVx.
  2. Signal Degradation or Noise:

    • Use shorter wires to reduce signal interference.
    • Add pull-up resistors to the I2C lines if necessary.
  3. Overheating or Damage:

    • Ensure that the voltage levels do not exceed the specified limits.
    • Double-check the ground connections between all devices.

FAQs

Q: Can this converter be used for SPI communication?
A: Yes, the converter supports SPI communication. However, ensure that the SPI clock speed is within the tolerable range for the connected devices.

Q: Do I need external pull-up resistors for I2C?
A: The converter is I2C-safe and works with or without external pull-up resistors. However, adding pull-ups may improve signal integrity in some cases.

Q: Can I use this converter for analog signals?
A: No, this converter is designed for digital signals only. It is not suitable for analog signal conversion.

Q: What is the maximum data rate supported?
A: The converter supports data rates up to 400kHz for I2C communication. For other protocols, ensure compatibility with the connected devices.