TCA9548A: 7 I2C Multiplexer Checks Before Buying

A TCA9548A connects one controller-side I²C bus to selected downstream branches. Its most familiar use is separating sensors that start at the same fixed address, so the controller can communicate with one branch at a time.
It is not an eight-bit GPIO expander, an eight-port power supply or a device that automatically renames every connected sensor. The buying decision should reflect what the switch actually does and what the software must still manage.

TCA9548A price and package
| Listed item | Price (PKR) | Project role |
|---|---|---|
| Adafruit TCA9548A 1 to 8 I2C Multiplexer Breakout Board | 750 | One-to-eight I²C multiplexer breakout listing |
Price snapshot: Epro listings checked on 19 October 2026. Confirm the current price, availability, delivery charges and package quantity on the linked page before ordering. These are dated listing prices, not a quotation or an independent performance test.
The Epro multiplexer listing describes a default address of 0x70, selectable alternatives through 0x77 and eight downstream branches. Confirm the actual header assembly, labels and pull-up arrangement. A listing name alone is not independent verification of board provenance.
1. Check whether a multiplexer is needed
If the sensors can be configured to unique addresses, they may share one suitable bus without a multiplexer. If they cannot, separate branches can solve the address conflict while allowing the controller to reuse the same sensor address on each selected branch.
Two sensor objects in a program do not solve an electrical address collision. Conversely, two different sensor types at different addresses do not automatically need separate branches. Start by listing the actual addresses and the intended active topology.
2. Understand the channel control byte
The Adafruit wiring reference uses a one-bit mask: write 1 shifted by the channel number to the multiplexer. Channel zero therefore uses byte 0x01, not byte zero.
Writing zero disables all branches. Writing the numeric channel index directly is a common mistake because the register is a bit mask. For same-address devices, select only the intended branch rather than enabling several conflicting branches together.
3. Plan the multiplexer address too
The multiplexer itself is an I²C device on the upstream bus. Its default 0x70 address must not conflict with another active device’s normal or auxiliary address. Check address straps and the complete bus, not only the main sensor addresses.
Adding several multiplexers requires unique upstream addresses and deliberate channel disabling. Leaving matching-address sensors active behind multiple multiplexers can reintroduce the conflict the extra boards were intended to solve.Newest in the store
4. Review pull-ups on both sides
The Adafruit pinout guide notes that the referenced breakout’s downstream pins do not include pull-ups. A sensor board may already provide them, while a bare device may require appropriate external resistors.
Do not assume every low-cost board duplicates that exact circuit. Confirm the supplied hardware and the voltage on each branch. Several pull-up networks in parallel can change the electrical behaviour when branches are enabled together.
5. Keep supply and logic levels intentional
Use a verified controller-side arrangement compatible with the controller’s logic level. A beginner 5 V Uno experiment can use matching 5 V-compatible peripherals, while a 3.3 V controller needs a suitable 3.3 V interface.
The chip’s level-handling capability does not make arbitrary wiring safe. Sensor supply ratings, branch pull-up voltages and controller limits still apply. The board does not provide galvanic isolation or independently power each sensor.
6. Select the branch before initialization and reads
A sensor library’s begin call performs I²C transactions, so the correct branch must already be selected. The same rule applies later to configuration changes and measurements. Selection is part of every communication sequence, not a one-time instruction forgotten after startup.
A channel scanner can help confirm that a device acknowledges on the intended branch. An acknowledgment still does not prove the right model, successful calibration or a valid sensor reading.
7. Start with two simple branches
The TCA9548A I²C multiplexer channel-scan tutorial uses two separately connected PCF8574 boards at the same address. It demonstrates branch selection without introducing a complex sensor library or mixed voltage levels.
Keep wires short and add devices gradually. A selected branch held LOW by a wiring fault can still disrupt communication. A multiplexer improves bus organisation, but it is not a substitute for sound power, grounding, timing and fault handling.
