- 1-to-8 Expansion: Connect 8 separate I2C buses to a single host.
- Address Conflict Resolution: Enables multiple devices with identical addresses on one system.
- Configurable Host Address: Three address pins (A0, A1, A2) allow for 8 unique multiplexer addresses (0x70–0x77), enabling you to daisy-chain up to 8 multiplexers for a total of 64 I2C channels.
- Bidirectional Translation: Supports voltage level shifting between 1.8V, 2.5V, 3.3V, and 5V.
- Active-Low Reset: Dedicated RESET pin to recover from stuck downstream buses without cycling power.
- Plug-and-Play Compatible: Works with Arduino, Raspberry Pi, ESP32, and any standard I2C/SMBus controller
TCA9548A 1 to 8 I2C 8-channel IIC
| Operating Voltage (VCC) | 1.65V to 5.5V |
|---|---|
| I2C Clock Frequency | 0 to 400 kHz (Standard & Fast Mode) |
| Default I2C Address | 0x70 (Adjustable 0x70 to 0x77) |
| Channels | 8 Bidirectional switches |
| I/O Logic Levels | 5V Tolerant |
| ESD Protection | ±2000V Human-Body Model |




- Wiring: Connect the microcontroller’s SDA/SCL to the TCA9548A SDA/SCL. Power the board with 3.3V or 5V.
- Target Connection: Connect your sensors to the SD0/SC0 through SD7/SC7 ports.
- Channel Selection: In your code, write a single byte to the multiplexer’s address (0x70) indicating the channel you want to activate (e.g., write
0x01to enable Channel 0). - Communicate: Send standard I2C commands to your sensor as if it were directly connected to the microcontroller.
Yes, you can activate any combination of channels simultaneously by writing the corresponding bitmask to the control register. However, ensure there are no address conflicts among the devices on the combined channels.
Yes. While many breakout boards include pull-ups on the main bus, the eight downstream channels usually require their own pull-up resistors to the desired voltage level.
Use the A0, A1, and A2 pins. Connecting them to GND or VCC allows you to select an address between 0x70 and 0x77.
You can pull the RESET pin LOW to reset the multiplexer’s internal state and deselect all channels, allowing you to recover the main bus without a full system reboot











