

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).






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 |
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. |
Power Connections:
HV pin to the high-voltage power source (e.g., 5V).LV pin to the low-voltage power source (e.g., 3.3V).GND pin to the ground of both voltage systems.Signal Connections:
HVx pins.LVx pins.I2C Communication:
SCL and SDA lines of the high-voltage device to two HVx pins.SCL and SDA lines of the low-voltage device to the corresponding LVx pins.HV and LV power sources are stable and within the specified voltage ranges.Below is an example of using the logic level converter to interface a 3.3V sensor with a 5V Arduino UNO via I2C:
5V pin to the HV pin of the converter.GND pin to the GND pin of the converter.3.3V pin to the LV pin of the converter.GND pin to the GND pin of the converter.SCL and SDA pins to HV1 and HV2, respectively.SCL and SDA pins to LV1 and LV2, respectively.#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
}
No Communication Between Devices:
HV and LV power sources are correctly connected and within the specified voltage ranges.HVx and LVx.Signal Degradation or Noise:
Overheating or Damage:
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.