# I2C line pulled low by MCP23017

A simple interface of MCP23017 with Rpi using I2C lines. Since there is already an internal pull-up resistor of 1.8k on rpi I didn't use any pull-ups n I2C lines.

Running i2cdetect -y 1 on rpi I rarely receive any response from MCP23017. Most of the times it's unresponsive and while trying to debug it on HW level I observed:

1. SDA line show 3.3V sometimes and sometimes 0.5
2. SCL line is always 0.5 to 0.7.

When I remove the connection and test only on I2C lines of Rpi, it works as expected. I believe the schematic is fairly simple and should work.

I have created multiple boards and only 1 board works and only 1 MCP responds on the same. I have tested with both; VCC = 5V & 3.3V but no change in observation. I have been struggling with this for more than a week and I can't think of any potential root cause now.

• Don't you have to turn on the pullup resistors in the rpi code? Are you doing that? – Hearth Nov 11 '18 at 16:06
• No i didnt do that. I assumed that calling the i2cdetect should take care of all the configuration. – Mayank Nov 11 '18 at 16:14
• I will search more on that. – Mayank Nov 11 '18 at 16:14
• I'm not very familiar with the rpi, so it's possible it does. – Hearth Nov 11 '18 at 16:15
• just an FYI, this might help in the search: raspberry-projects.com/pi/pi-operating-systems/raspbian/… – isdi Nov 11 '18 at 17:37