Adafruit TCA9548A

Adafruit TCA9548A I2C Multiplexer User Manual

Model: TCA9548A | Brand: Adafruit

Introduction

The Adafruit TCA9548A I2C Multiplexer is a device designed to expand the capabilities of your microcontroller by allowing multiple I2C devices with the same address to operate on a single I2C bus. This manual provides essential information for its proper setup and operation, enabling you to integrate several identical I2C sensors or modules into your projects without address conflicts.

Adafruit TCA9548A I2C Multiplexer board

Image: The Adafruit TCA9548A I2C Multiplexer breakout board, showcasing its compact design and pin layout.

Key Features

Technical Specifications

FeatureDetail
ModelTCA9548A
BrandAdafruit
I2C AddressesMultiplexer: 0x70-0x77 (configurable)
Logic Voltage3V and 5V compliant
Item Weight0.32 ounces
Item Model Number8541585622
First AvailableSeptember 17, 2015

Setup Guide

Hardware Setup

This section details the physical connection of the Adafruit TCA9548A I2C Multiplexer to your microcontroller and I2C devices.

Components Required

Connection Steps

  1. Solder Header Pins: Solder the provided header pins to the TCA9548A breakout board. This allows it to be easily inserted into a breadboard or connected via jumper wires.Adafruit TCA9548A I2C Multiplexer with header pins soldered

    Image: The Adafruit TCA9548A I2C Multiplexer board with male header pins soldered on both sides, ready for breadboard insertion. The main chip and various pins like VIN, GND, SDA, SCL, RST, A0-A2, and SC0-SC7 are visible.

  2. Power Connection: Connect the VIN pin of the multiplexer to the 3V or 5V power supply of your microcontroller. Connect the GND pin of the multiplexer to the ground of your microcontroller. The TCA9548A is 3V and 5V compliant.
  3. I2C Bus Connection (Microcontroller to Multiplexer): Connect the SDA pin of your microcontroller to the SDA pin on the multiplexer. Connect the SCL pin of your microcontroller to the SCL pin on the multiplexer.
  4. I2C Device Connection (Multiplexer to Devices): Connect your I2C devices to the multiplexed I2C ports (SC0/SD0, SC1/SD1, ..., SC7/SD7). Each pair (SCx/SDx) represents an independent I2C bus.Adafruit TCA9548A I2C Multiplexer connected to a microcontroller and two I2C devices on a breadboard

    Image: An Adafruit TCA9548A I2C Multiplexer connected to an Adafruit Metro microcontroller and two I2C compass modules on a breadboard. Wires connect the main I2C bus from the Metro to the multiplexer, and then from two of the multiplexer's output channels to the individual compass modules.

  5. Address Configuration (Optional): The default I2C address for the multiplexer is 0x70. You can change this by connecting the A0, A1, and A2 pins to VCC or GND. For example, connecting A0 to VCC would change the address to 0x71. Refer to the TCA9548A datasheet for specific address configurations.Back of Adafruit TCA9548A I2C Multiplexer board with a US quarter for scale

    Image: The reverse side of the Adafruit TCA9548A I2C Multiplexer board, showing the Adafruit logo, VIN, and the A0-A2 address configuration pins. A US quarter coin is placed next to the board for size comparison.

Software Setup

To communicate with the TCA9548A and connected I2C devices, you will need to use appropriate software libraries for your microcontroller.

Arduino Example (Conceptual)

  1. Install Library: Install the Adafruit TCA9548A library (or a compatible I2C multiplexer library) through your Arduino IDE's Library Manager.
  2. Initialize Multiplexer: In your code, initialize the multiplexer with its I2C address (default 0x70).
  3. Select Channel: Before communicating with an I2C device, select the corresponding channel on the multiplexer. For example, to talk to a device on SC0/SD0, you would write a byte to the multiplexer's address indicating channel 0.
  4. Communicate with Device: Once the channel is selected, all subsequent I2C packets will be sent to that port until a new channel is selected.

Operating Instructions

Basic Operation

The TCA9548A operates by allowing you to programmatically select which of its 8 downstream I2C buses is active. Only one channel can be active at a time.

Channel Selection

To select a channel (0-7), write a single byte to the multiplexer's I2C address. The byte's value corresponds to the channel you wish to activate. For example, writing 0x01 selects channel 0, 0x02 selects channel 1, 0x04 selects channel 2, and so on (using bitmasks for channel selection). Consult the TCA9548A datasheet or Adafruit's tutorials for specific code examples.

Communication Flow

  1. Your microcontroller sends an I2C command to the TCA9548A's address to select a specific output channel.
  2. The TCA9548A then connects its main I2C bus (from the microcontroller) to the selected output channel.
  3. Your microcontroller then sends I2C commands to the address of the target device. These commands are routed through the selected channel.
  4. To communicate with a device on a different channel, repeat step 1 to select the new channel.

Maintenance

Care and Handling

Troubleshooting

Common Issues and Solutions

Warranty and Support

Product Support

For technical assistance, detailed documentation, and community forums, please visit the official Adafruit website. Adafruit provides extensive tutorials and resources for their products, which can be invaluable for advanced usage and project integration.

This product is typically covered by a standard manufacturer's warranty against defects in materials and workmanship. Please refer to Adafruit's official warranty policy on their website for detailed terms and conditions regarding returns, repairs, and replacements.

Related Documents - TCA9548A

Preview Adafruit PM2.5 Air Quality Sensor Guide
Learn how to use the Adafruit PM2.5 Air Quality Sensor with Arduino and Python/CircuitPython. This guide covers wiring, code examples, and usage notes for monitoring air quality.
Preview Guide to Using CircuitPython Libraries with FT232H on Windows, Mac, Linux
Learn how to connect I2C, SPI, and GPIO sensors and breakouts to your computer using the FT232H USB interface with CircuitPython libraries. This guide covers setup for Windows, macOS, and Linux.
Preview CircuitPython Hardware: SSD1306 OLED Display Guide
A comprehensive guide to using SSD1306 monochrome OLED displays with Adafruit's CircuitPython and MicroPython firmware, covering hardware setup, wiring, and software examples for I2C and SPI interfaces.
Preview Pantalla OLED SSD1306-SH1106 I2C-SPI 7 Pines: Guía de Uso con Arduino
Guía completa sobre pantallas OLED SSD1306 y SH1106 para Arduino. Aprende sobre sus características, configuración I2C/SPI, conexión de pines, instalación de librerías Adafruit y ejemplos de código para tus proyectos de electrónica.
Preview CircuitPython on Linux and Orange Pi Guide
Learn how to use CircuitPython on Linux-based single-board computers like the Orange Pi. This guide covers setup, installation, and basic usage.
Preview Adafruit FT232H with SPI & I2C Devices Guide
A guide to using the Adafruit FT232H breakout board to add SPI and I2C communication capabilities to your computer, with instructions for wiring and software setup for various Adafruit breakout boards.