The TCA9548A I2C Multiplexer Module is an 8-channel I2C expansion board designed to connect multiple I2C devices to a single microcontroller, including devices that share the same I2C address.
Featuring the TCA9548A chip, the module allows a controller to select between eight independent I2C channels using simple I2C commands. It is particularly useful for Arduino, ESP32, Raspberry Pi, STM32, and other development boards where multiple identical sensors or displays need to operate on the same I2C bus.
With configurable I2C addresses, bidirectional signal switching, and a compact breakout board design, the TCA9548A is suitable for robotics, sensor networks, embedded systems, and electronics prototyping.
Key Features
-
8 Independent I2C Channels: Connect up to eight separate I2C buses through one controller.
-
Resolves I2C Address Conflicts: Allows multiple devices with identical I2C addresses to operate on separate channels.
-
Wide Operating Voltage: Supports 1.65V to 5.5V supply voltage.
-
I2C Communication: Supports standard-mode and fast-mode communication up to 400kHz.
-
Configurable I2C Address: Three address selection pins (A0, A1, A2) allow up to eight multiplexers on one I2C bus.
-
Bidirectional Switching: Supports bidirectional SDA and SCL communication.
-
Channel Selection: One or multiple channels can be enabled through software.
-
Reset Function: Dedicated active-low RESET input.
-
Compact PCB: Suitable for breadboard prototyping and embedded projects.
-
Mounting Holes: Two M3 mounting holes for installation.
Technical Specifications
| Parameter |
Specification |
| Product Type |
I2C Multiplexer Breakout Board |
| IC |
TCA9548A |
| Communication Interface |
I2C |
| Number of Channels |
8 |
| Supply Voltage |
1.65V–5.5V DC |
| I2C Clock Frequency |
Up to 400kHz |
| Default I2C Address |
0x70 |
| Selectable I2C Addresses |
0x70–0x77 |
| Address Selection |
A0, A1, A2 |
| Maximum Multiplexers per Bus |
8 |
| Maximum Downstream Channels |
64 using 8 multiplexers |
| Operating Temperature |
-40°C to +85°C |
| PCB Dimensions |
31.5 × 21.4mm |
| Mounting Holes |
2 × M3 |
Pin Configuration
| Pin |
Description |
| VIN / VCC |
Module Power Supply |
| GND |
Ground |
| SDA |
Main I2C Data |
| SCL |
Main I2C Clock |
| A0 |
I2C Address Selection Bit 0 |
| A1 |
I2C Address Selection Bit 1 |
| A2 |
I2C Address Selection Bit 2 |
| RESET / RST |
Active-Low Reset Input |
| SD0–SD7 |
I2C Data Lines for Channels 0–7 |
| SC0–SC7 |
I2C Clock Lines for Channels 0–7 |
Note: On this breakout board, RESET, SDA, SCL, A0, A1, and A2 are described as having onboard 10kΩ pull-up resistors.
Arduino Connection Example
| TCA9548A |
Arduino Uno |
| VIN / VCC |
5V |
| GND |
GND |
| SDA |
A4 |
| SCL |
A5 |
| SD0 |
Sensor 1 SDA |
| SC0 |
Sensor 1 SCL |
| SD1 |
Sensor 2 SDA |
| SC1 |
Sensor 2 SCL |
This arrangement allows two sensors with identical I2C addresses to communicate independently through channels 0 and 1.
ESP32 Connection Example
| TCA9548A |
ESP32 |
| VIN / VCC |
3.3V |
| GND |
GND |
| SDA |
GPIO21 |
| SCL |
GPIO22 |
| SD0 / SC0 |
I2C Sensor 1 |
| SD1 / SC1 |
I2C Sensor 2 |
GPIO21 and GPIO22 are common default I2C pins on classic ESP32 development boards. Other ESP32 variants may use different pins.
Raspberry Pi Connection Example
| TCA9548A |
Raspberry Pi |
| VIN / VCC |
3.3V |
| GND |
GND |
| SDA |
GPIO2 (Pin 3) |
| SCL |
GPIO3 (Pin 5) |
| SD0 / SC0 |
I2C Device 1 |
| SD1 / SC1 |
I2C Device 2 |
Applications
- Multiple I2C Sensors with Identical Addresses
- Arduino and ESP32 Sensor Expansion
- Raspberry Pi I2C Projects
- Robotics and Automation
- Multiple OLED Display Systems
- Environmental Monitoring
- Multi-Sensor Data Acquisition
- Embedded Electronics Prototyping
- Industrial Monitoring Systems
- Educational Electronics Projects
Important Notes
-
The TCA9548A is an I2C multiplexer, not a GPIO expander.
- Devices with identical I2C addresses must be connected to separate channels.
- The module uses I2C address 0x70 by default, assuming A0, A1, and A2 are low.
- For ESP32 and Raspberry Pi, a 3.3V supply is recommended.
- Ensure that the voltage levels and pull-up resistors on each I2C channel are compatible with the connected devices.
- Multiple channels can be enabled simultaneously, but devices with conflicting addresses should not be active together.
- The 64-channel configuration represents eight multiplexers with eight downstream buses each, not necessarily 64 independently addressable devices.
Package Includes
- 1 × TCA9548A 8-Channel I2C Multiplexer Module
- Male Header Pin Strips