Diagnosing I2C issues using an oscilloscope: Slow rising edge, fast falling edge
If your I2C clock and/or data signal look like this:
in other words, if the rising edge is very slow and not sharp compared to the you are facing an issue with a **pull-up resistor which is too large.**A good point to start is to use a pull-up resistor 1/4 the value of the pull-up****currently installed on your board. If you don’t have any pull-up on your board, start with a 2.2 kOhm
pull-up resistor.
As a hotfix, you can operate I2C at slower speed like 100 kHz
or even slower (like 10 kHz
). This will temporarily fix the issue and depending on your application there might not be any need to go faster than that.