Skip to main content
The Bi-Directional Voltage-Level Translator Module is a 4-bit non-inverting voltage converter designed to bridge communication between devices operating at different logic voltage levels. Powered by the Texas Instruments TXB0104PW IC, this module features automatic direction sensing, eliminating the need for a direction control pin (DIR) and simplifying hardware connections. Whether interfacing a 3.3V microcontroller (e.g., GLYPH, ESP32, STM32, Raspberry Pi) with legacy 5V sensors and modules, or communicating with modern 1.8V low-power components, this module enables reliable bidirectional signal transmission for SPI, UART, and general GPIO lines.

Pin Configuration

The module is arranged with two independent voltage domains on opposing sides:

Side A (Port A - Lower Voltage Side)

Side B (Port B - Higher Voltage Side)

Important Voltage Rule: According to the TXB0104PW specification, VCCA must always be less than or equal to VCCB (VCCA≤VCCBV_{CCA} \le V_{CCB}). For example, connect your 3.3V supply to VCCA and your 5V supply to VCCB.

Key Features

  • TXB0104PW Core: Advanced 4-bit non-inverting translator with automatic direction sensing.
  • Auto-Direction Sensing: Eliminates the need for external direction-control signals, enabling plug-and-play communication.
  • Wide Voltage Translation:
    • Port A: 1.2V to 3.6V
    • Port B: 1.65V to 5.5V
  • High Speed Capability:
    • Up to 100 Mbps for push-pull drivers (SPI, UART, standard GPIO)
    • Up to 20 Mbps for open-drain configurations
  • Low Power Consumption: 4 μA4\,\mu\text{A} maximum static current (ICCI_{CC}).
  • Built-in ESD Protection: ±15-kV\pm 15\text{-kV} Human Body Model (HBM) ESD protection on B-port lines.
  • 4 Independent Channels: Capable of converting up to 4 parallel data or control lines simultaneously.

Applications

  • Bridging 3.3V microcontrollers (GLYPH, ESP32, RP2040) with 5V logic sensors and displays.
  • Interfacing 1.8V ultra-low-power sensors with standard 3.3V systems.
  • High-speed level shifting for SPI buses (SCK, MOSI, MISO, CS).
  • UART level translation (TX, RX, RTS, CTS).
  • Mixed-voltage prototyping and industrial control interface modules.

Step 1: Hardware Required

  1. Glyph Board (e.g., Glyph ESP32-C3) or compatible 3.3V development board
  2. G-MOD Bi-Voltage Level Translator Module (TXB0104PW)
  3. 5V Device or Target Peripheral (e.g., 5V Arduino, 5V sensor, or 5V logic source)
  4. Jumper wires and breadboard

Step 2: Circuit Connections

Connect the lower-voltage side (Side A) to your GLYPH board and the higher-voltage side (Side B) to your 5V system:
Ensure both grounds (GND on Side A and GND on Side B) share a common ground reference with both connected systems for stable signal translation.

Step 3: Arduino Code Setup

The following example demonstrates transmitting and receiving data across voltage domains using hardware serial (UART) through the TXB0104 level translator.
  1. Open Arduino IDE.
  2. Copy and paste the following code into the Arduino IDE:

Step 4: Upload the Code

  1. Connect the Board
    • Connect your GLYPH board to your computer using a USB-C cable.
  2. Select the Board and Port
    • In Arduino IDE, go to Tools > Board > esp32 > Pcbcupid GLYPH C3.
For the Pcbcupid Glyph C3 to appear under Tools > Board > esp32, the esp32 board version installed in the Arduino IDE should be greater than or equal to 3.1.0.
  • Go to Tools > Port and select the serial port assigned to your GLYPH.
  • Set Tools > USB CDC on Boot to Enabled.
If USB CDC on Boot is not enabled, you will not see serial output in the Arduino IDE Serial Monitor.
  1. Upload the Code
    • Click the Upload button (➡️ icon) or press Ctrl + U to compile and flash the firmware.

Step 5: Observe Output on Serial Monitor

  1. Open the Arduino IDE Serial Monitor (Ctrl + Shift + M).
  2. Set the baud rate to 115200.
  3. Verify that outbound 3.3V signals are shifted to 5V on Port B, and incoming 5V signals from the peripheral are translated safely to 3.3V on Port A without distortion.