The TinyTronics I2C-UART Bi-Directional Logic Level Converter (Part ID: 000147) is a compact and efficient device designed to enable seamless communication between two devices operating at different voltage levels, specifically 5V and 3.3V. This converter supports bi-directional signal conversion, making it ideal for interfacing microcontrollers, sensors, and communication modules that operate at varying logic levels. With two independent channels, it allows simultaneous data transfer, and its integrated power supply ensures stable operation.
Parameter | Value |
---|---|
Manufacturer | TinyTronics |
Part ID | 000147 |
Voltage Levels Supported | 5V ↔ 3.3V |
Number of Channels | 2 |
Communication Protocols | I2C, UART, SPI |
Power Supply Input Voltage | 5V |
Operating Temperature | -40°C to +85°C |
Dimensions | 15mm x 12mm x 3mm |
Pin Name | Description |
---|---|
HV | High Voltage Input (5V). Connect to the 5V power source. |
LV | Low Voltage Input (3.3V). Connect to the 3.3V power source. |
GND | Ground. Common ground for both voltage levels. |
HV1 | High Voltage Channel 1. Connect to the 5V signal line of the first channel. |
LV1 | Low Voltage Channel 1. Connect to the 3.3V signal line of the first channel. |
HV2 | High Voltage Channel 2. Connect to the 5V signal line of the second channel. |
LV2 | Low Voltage Channel 2. Connect to the 3.3V signal line of the second channel. |
Power Connections:
Signal Connections:
Communication Protocols:
Testing:
Below is an example of using the logic level converter to interface an Arduino UNO (5V) with a 3.3V I2C sensor.
#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
// Example: Sending a request to a 3.3V I2C sensor with address 0x40
Serial.println("Initializing communication with 3.3V sensor...");
Wire.beginTransmission(0x40); // Start communication with sensor
Wire.write(0x00); // Send a command or register address
Wire.endTransmission(); // End transmission
}
void loop() {
// Example: Reading data from the sensor
Wire.requestFrom(0x40, 2); // Request 2 bytes from the sensor
if (Wire.available() == 2) { // Check if 2 bytes are available
int data = Wire.read() << 8 | Wire.read(); // Combine the two bytes
Serial.print("Sensor Data: ");
Serial.println(data); // Print the received data
}
delay(1000); // Wait 1 second before the next read
}
No Signal Conversion:
Communication Errors:
Voltage Mismatch:
Overheating:
Q1: Can this converter handle SPI communication?
Yes, the converter supports SPI communication. Ensure proper wiring of the MOSI, MISO, and SCK lines to the appropriate channels.
Q2: Can I use this converter for 1.8V devices?
No, this converter is specifically designed for 5V ↔ 3.3V level shifting. For 1.8V devices, use a dedicated 1.8V level shifter.
Q3: Do I need external pull-up resistors for UART communication?
No, UART communication typically does not require pull-up resistors. However, ensure proper wiring and voltage levels.
Q4: Can I use both channels simultaneously?
Yes, the two channels are independent and can be used simultaneously for different signals.