Part Number: TCA9517
Dear TI Engineers,
I hope you are doing well! I have an issue regarding the TCA9157 module.
Setup
I want to connect two ESP32-C3 to a single MCP23008 via I2C. There will be always only one ESP32-C3 module powered at the same time. One ESP32-C3 (let's call it ESP_B) is wired directly to the MCP23008 on a PCB, and the second one will be connected using an USB cable (call it ESP_A). When ESP_A connects to the PCB via USB, I want to isolate the I2C bus of ESP_B, as it will be powered off anyway, and could cause interferences in the bus.
I placed a TCA9157 (schematic below) to isolate the I2C busses. I connected SCLA and SDAA to the ESP_A I2C bus, and SCLB, SDAB to the ESP_B I2C bus. Both busses are being pulled up by 4.7k Ohm resistors.
VCCA is connected to the ESP_A power supply, and VCCB is connected to ESP_B power supply. The MCP23008 powered from both, PCB power rail and USB cable, so I connected it to the A bus. When the USB cable is not connected, ESP_B powers the MCP, thus VCCA reads ~3.2V, and VCCB also reads ~3.2V --> SDAA = SDAB, SCLA = SCLB.
When ESP_B is unpowered, and USB is connected, VCCB reads 0V, and ESP_A only sees the MCP, not ESP_B.
Issue
When ESP_B is powered, it cannot access the MCP23008. I checked with a multimeter, and VCCA reads 3.2V as expected, same as VCCB. When the bus is idle, SDAA, SCLA, SDAB and SCLB also read 3.2V, due to the pullups. I ran a software on the ESP32_B, and It cannot see the MCP. I tested the software on a separate breadboard, directly connected to MCP23008, and it worked. I don't know why the TCA is not joining both busses, as it should.
Temporary fix
I removed the TCA chip from the PCB, and bridged bus A with bus B, and it worked. The PCB is not the problem, the wiring looks correct. You may find attached the schematic, I apologize if it is a bit messy.
Thank you very much for your time!
Greetings, Alex
