# TCA9548A (I2C multiplexer) works for a few minutes and then hangs

I'm having trouble getting the TCA9548APWR to communicate for longer than a few minutes. I'm only able to get it to "reset" by resoldering it. I have used both an Arduino Mega and a Beaglebone Black to communicate with it (successfully, for a few minutes).

Here's the overall schematic and board design below. Currently I have only installed the +3v / +5v / +12v power converters, the MCP23017T-E/SO (which I will use to drive a relay board), and one I2C sensor I'm using the test read/write capabilities.

This is a tough question to ask since I have little insight into what's causing the issue, so apologies if this is too vague – please ask any clarifying questions you may have. Thank you!

Edit: I clarified the exact chips I'm using with links

The I2C Multiplexer is the chip in question, right in the middle. This board image may be unreadable. If you'd like to check out the Eagle file, I can add a link.

• It's hard to search your image of the schematic, but is GND and GND_logic tied together somewhere? – Chris Knudsen Mar 26 at 18:44
• What do you mean by resoldering? Resoldering the pins? Replacing the chip completely? – Huisman Mar 26 at 19:24
• dmayman - (a) Which setting did you use in your tests for J9 (supply for MCP23017) - 5V or 3.3V? (b) What I2C sensor did you use (you didn't specify it exactly) and what supply voltage did you use for it (5V or 3.3V)? (c) Do you have an oscilloscope and experience using it? (d) As just asked by Huisman, can you be clear about the "resoldering" statement? I interpret it as being you do just need to resolder the connections on the same IC - no replacement. Please confirm. That "fix" is something I've seen for a specific type of problem before, so confirmation of the interpretation helps. – SamGibson Mar 26 at 19:29
• Some I2C pull up resistors are 1K and some are 10K. The latter seems quite large. What's the reason for having 10K? – Huisman Mar 26 at 19:29
• I see many potential issues. That needs some more info. What I2C speeds are you using? Where exactly does the I2C communication jam, you must have a debug serial print where I2C fails, right? Which bus on the mux, which address trying to talk? Is there a retry somewhere? To help debug this, please draw a diagram or write a list which bus is connected where, and what size pullups each bus segment has. Some other issues/questions: -What is the address of TCA9548, are these pins properly biased as well? -Is there pullups on DAC I2C bus? I don't see them, and that's bad. – Justme Mar 26 at 20:16