TCA9548A has eight bidirectional translating switches that can be controlled through the I2C bus. The SCL/SDA upstream pair fans out to eight downstream pairs, or channels. Any individual SCn/SDn channel or combination of channels can be selected, determined by the contents of the programmable control register. These downstream channels can be used to resolve I2C slave address conflicts. For example, if eight identical digital temperature sensors are needed in the application, one sensor can be connected at each channel: 0-7.
It works that way, that first one of the 8 switched channels is selected, then data is sent/received. This way, up to 8 I2C devices using the same bus address can be addressed separately.
This is an awesome problem solver especially for I2C sensor or display modules with hard-wired I2C addresses and the need of using more than 2 identical device on the same I2C bus.
The TCA9548A doesn’t require a library to work. It is controlled just by sending a command to it over the I2C bus.