# Same i2c devices on one multiplexer pin

I have an arduino with a multiplexer for i2c expansion (I have multiple same boards exceeding its adress range) where every pin leads to separate sensor box. My question is: is it possible to put multiple same devices (with different adresses) on one pin of the multiplexer?

Lets say "*" is the multiplexer, "A-Z" are different various sensors and boards and the a1-a3 are for example 3 same AD/DA converters in parallel on the same multiplexer pin but each with unique adress.

           L1    L2

/|---|B|
| |---|C|
| |--->a1,a2,a3
Arduino---|*|
| |
\|---|Z|


Would this configuration work?

There are no problems doing this. It is precisely the intended use case of such a multiplexer.

This is of course provided you observe the following:

1. No two devices on the same downstream bus will share the same address.
2. The total capacitance of devices on the same bus don't exceed the specifications of the multiplexer.
3. None of the devices on the bus share the same address as the multiplexer itself.

But then in practice none of those rules are different from when there is no multiplexer.

Effectively the mux acts as its own independent slave. It is completely transparent to other devices on the bus. You can talk to the mux to select which bus you want to connect to the master, and thats about it.

The devices on any downstream port of the multiplexer don't know the mux is there. They don't know that any device on the other downstream ports exist. As far as they are concerned they are just connected to a master - even when their bus is not selected.

• Thanks for the quick and elaborate answer! I would upwote but i dont have any reputation :\ – Petr Apr 17 '20 at 20:25

Yes, the whole point of having addresses is so that multiple devices can share a bus, so long as they have different addresses.