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

How to Use PCA9306: Examples, Pinouts, and Specs

Image of PCA9306
Cirkit Designer LogoDesign with PCA9306 in Cirkit Designer

Introduction

The PCA9306, manufactured by Texas Instruments, is a dual bidirectional I2C bus buffer designed for level shifting between different voltage levels. It enables seamless communication between devices operating at different I2C voltages, making it an essential component in mixed-voltage systems. The PCA9306 is particularly useful in applications where devices with different logic levels need to communicate over the I2C bus.

Explore Projects Built with PCA9306

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered Raspberry Pi Pico GPS Tracker with Sensor Integration
Image of Copy of CanSet v1: A project utilizing PCA9306 in a practical application
This circuit is a data acquisition and communication system powered by a LiPoly battery and managed by a Raspberry Pi Pico. It includes sensors (BMP280, MPU9250) for environmental data, a GPS module for location tracking, an SD card for data storage, and a WLR089-CanSAT for wireless communication. The TP4056 module handles battery charging, and a toggle switch controls power distribution.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Health Monitoring System with Nucleo WB55RG and OLED Display
Image of Pulsefex: A project utilizing PCA9306 in a practical application
This circuit is a multi-sensor data acquisition system that uses a Nucleo WB55RG microcontroller to interface with a digital temperature sensor (TMP102), a pulse oximeter and heart-rate sensor (MAX30102), and a 0.96" OLED display via I2C. Additionally, it includes a Sim800l module for GSM communication, powered by a 3.7V LiPo battery.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Battery-Powered Multi-Sensor System
Image of Dive sense: A project utilizing PCA9306 in a practical application
This circuit consists of a TP4056 module connected to a 3.7V LiPo battery, providing a charging interface for the battery. The TP4056 manages the charging process by connecting its B+ and B- pins to the battery's positive and ground terminals, respectively.
Cirkit Designer LogoOpen Project in Cirkit Designer
Raspberry Pi Pico-Based Navigation Assistant with Bluetooth and GPS
Image of sat_dish: compass example: A project utilizing PCA9306 in a practical application
This circuit features a Raspberry Pi Pico microcontroller interfaced with an HC-05 Bluetooth module for wireless communication, an HMC5883L compass module for magnetic field measurement, and a GPS NEO 6M module for location tracking. The Pico is configured to communicate with the HC-05 via serial connection (TX/RX), with the compass module via I2C (SCL/SDA), and with the GPS module via serial (TX/RX). Common power (VCC) and ground (GND) lines are shared among all modules, indicating a unified power system.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with PCA9306

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 Copy of CanSet v1: A project utilizing PCA9306 in a practical application
Battery-Powered Raspberry Pi Pico GPS Tracker with Sensor Integration
This circuit is a data acquisition and communication system powered by a LiPoly battery and managed by a Raspberry Pi Pico. It includes sensors (BMP280, MPU9250) for environmental data, a GPS module for location tracking, an SD card for data storage, and a WLR089-CanSAT for wireless communication. The TP4056 module handles battery charging, and a toggle switch controls power distribution.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Pulsefex: A project utilizing PCA9306 in a practical application
Battery-Powered Health Monitoring System with Nucleo WB55RG and OLED Display
This circuit is a multi-sensor data acquisition system that uses a Nucleo WB55RG microcontroller to interface with a digital temperature sensor (TMP102), a pulse oximeter and heart-rate sensor (MAX30102), and a 0.96" OLED display via I2C. Additionally, it includes a Sim800l module for GSM communication, powered by a 3.7V LiPo battery.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Dive sense: A project utilizing PCA9306 in a practical application
ESP32-Based Battery-Powered Multi-Sensor System
This circuit consists of a TP4056 module connected to a 3.7V LiPo battery, providing a charging interface for the battery. The TP4056 manages the charging process by connecting its B+ and B- pins to the battery's positive and ground terminals, respectively.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of sat_dish: compass example: A project utilizing PCA9306 in a practical application
Raspberry Pi Pico-Based Navigation Assistant with Bluetooth and GPS
This circuit features a Raspberry Pi Pico microcontroller interfaced with an HC-05 Bluetooth module for wireless communication, an HMC5883L compass module for magnetic field measurement, and a GPS NEO 6M module for location tracking. The Pico is configured to communicate with the HC-05 via serial connection (TX/RX), with the compass module via I2C (SCL/SDA), and with the GPS module via serial (TX/RX). Common power (VCC) and ground (GND) lines are shared among all modules, indicating a unified power system.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Level shifting for I2C communication between devices with different voltage levels.
  • Mixed-voltage system integration in embedded systems.
  • Consumer electronics, such as smartphones and tablets.
  • Industrial automation and control systems.
  • Communication between microcontrollers and peripheral devices like sensors, EEPROMs, and displays.

Technical Specifications

The PCA9306 is a versatile and robust component with the following key technical specifications:

Parameter Value
Operating Voltage Range 1.2 V to 5.5 V (VREF1), 1.8 V to 5.5 V (VREF2)
Maximum Data Rate 10 Mbps
Operating Temperature Range -40°C to +85°C
I2C Compatibility Supports Standard-Mode (100 kbps), Fast-Mode (400 kbps), and Fast-Mode Plus (1 Mbps)
Input Capacitance 6 pF (typical)
Propagation Delay 0.3 ns (typical)
Package Options SOT-23-6, VSSOP-8

Pin Configuration and Descriptions

The PCA9306 is available in a 6-pin SOT-23 package. Below is the pin configuration and description:

Pin Name Pin Number Description
VREF1 1 Reference voltage for the lower voltage side of the I2C bus.
EN 2 Enable pin. Pull high to enable the device.
Lx 3 Low-voltage side I2C bus connection (SDA/SCL).
Hx 4 High-voltage side I2C bus connection (SDA/SCL).
GND 5 Ground connection.
VREF2 6 Reference voltage for the higher voltage side of the I2C bus.

Usage Instructions

How to Use the PCA9306 in a Circuit

  1. Power Supply Connections:

    • Connect the lower voltage reference (e.g., 1.8 V) to the VREF1 pin.
    • Connect the higher voltage reference (e.g., 3.3 V or 5 V) to the VREF2 pin.
    • Ensure that VREF2 is always greater than or equal to VREF1.
  2. Enable the Device:

    • Pull the EN pin high to enable the PCA9306. If unused, connect it to VREF2.
  3. I2C Bus Connections:

    • Connect the low-voltage I2C bus lines (SDA and SCL) to the Lx pin.
    • Connect the high-voltage I2C bus lines (SDA and SCL) to the Hx pin.
  4. Pull-Up Resistors:

    • Use appropriate pull-up resistors on both the low-voltage and high-voltage sides of the I2C bus. The resistor values depend on the bus capacitance and desired speed.
  5. Bypass Capacitors:

    • Place a 0.1 µF decoupling capacitor close to the VREF1 and VREF2 pins to ensure stable operation.

Important Considerations and Best Practices

  • Ensure that the voltage difference between VREF1 and VREF2 does not exceed the specified limits.
  • Avoid leaving the EN pin floating; always connect it to a defined logic level.
  • Verify that the pull-up resistor values are appropriate for the desired I2C speed and bus capacitance.
  • Keep traces for the I2C lines as short as possible to minimize noise and signal degradation.

Example: Using PCA9306 with Arduino UNO

The PCA9306 can be used to interface an Arduino UNO (5 V logic) with a 3.3 V I2C sensor. Below is an example Arduino code snippet for reading data from a 3.3 V 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
  Serial.println("PCA9306 Level Shifter Example");
}

void loop() {
  Wire.beginTransmission(0x40); // Start communication with the I2C device
  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 device
  if (Wire.available() == 2) {
    int data = Wire.read() << 8 | Wire.read(); // Read and combine the data
    Serial.print("Sensor Data: ");
    Serial.println(data); // Print the received data
  }

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

Troubleshooting and FAQs

Common Issues and Solutions

  1. No Communication on the I2C Bus:

    • Verify that the EN pin is pulled high.
    • Check the pull-up resistors on both sides of the I2C bus.
    • Ensure that VREF1 and VREF2 are powered correctly and within the specified range.
  2. Data Corruption or Noise:

    • Use shorter traces for the I2C lines to reduce noise.
    • Add bypass capacitors near the power supply pins.
    • Verify that the pull-up resistor values are appropriate for the bus speed.
  3. Device Overheating:

    • Ensure that the voltage difference between VREF1 and VREF2 does not exceed the maximum rating.
    • Check for any short circuits on the PCB.

FAQs

Q1: Can the PCA9306 be used for SPI communication?
A1: No, the PCA9306 is specifically designed for I2C communication and is not suitable for SPI.

Q2: What is the maximum voltage difference allowed between VREF1 and VREF2?
A2: The voltage difference between VREF1 and VREF2 must not exceed 5.5 V.

Q3: Do I need pull-up resistors on both sides of the I2C bus?
A3: Yes, pull-up resistors are required on both the low-voltage and high-voltage sides of the I2C bus for proper operation.

Q4: Can the PCA9306 operate at 1 Mbps I2C speed?
A4: Yes, the PCA9306 supports Fast-Mode Plus (1 Mbps) I2C communication. Ensure proper pull-up resistor values for high-speed operation.