LapI2CTop supports a branched topology I2C network, using the ubiquitous TCA9748 multiplexers
It performs discovery to find each I2C device on the bus, and assigns each a deviceID that can be used to setup the path to that device. There is a configurable limit of 64 I2C devices. If you need more you can change that. All that is needed to access a device anywhere on the bus is a call to setbus(deviceID) before talking to it. It's that simple.
Maintainer: Lucy Amanda Siobhán Anyte Emily Tegea
This library is compatible with all architectures so you should be able to use it on all the Arduino boards.
To use this library, open the Library Manager in the Arduino IDE and install it from there.