0

MPR121 I2C Issue
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

MPR121 I2C Issue

by walex94 on Thu Dec 03, 2020 4:01 am

Hello.

I'm using the I2C bus of my Raspberry Pi Zero and have the following devices on the bus:
Adafruit MPR121, Adafruit Si7021, Adafruit MMA8451, Adafruit DS3231

All of these devices are powered via the 3.3V output of the Raspberry Pi. The Raspberry Pi itself is powered via a 5V power supply.
Now when I use the latter three devices and disconnect the MPR121 everything works perfectly fine and I can retrieve data. But when I connect the MPR121 and startup the system the logic-High level on the bus collapses from 3.3V to around 1V (checked via oscilloscope) and the sensors can not be initialized. When this happens and I scan the bus using i2cdetect it just outputs random adresses on the bus.
I've also checked the 3.3V power line of the Raspberry Pi with my oscilloscope and it is at all times at the desired 3.3V value.

The weird thing is that it works sometimes (I can retrieve values from all 4 devices) and sometimes it doesn't.

At this point I ran out of ideas on what to check and hope somebody could help me.

Thanks!

walex94
 
Posts: 2
Joined: Thu Dec 03, 2020 3:45 am

Re: MPR121 I2C Issue

by mikeysklar on Fri Dec 04, 2020 11:02 am

@walex94,

What size power supply are you using on the Pi Zero (mA)? Are you using a quality USB micro power cable?

Interesting situation. Have you tried running the MPR121 in standalone mode (without the other three devices). Does it work reliably alone? I suspect the conflict could be related to the MPR121 and another one of the I2C sensors. It might be interesting to test two sensors connected at a time the MPR121 + one other in different configurations to determine where the conflict exists.

mikeysklar
 
Posts: 2880
Joined: Mon Aug 01, 2016 8:10 pm

Re: MPR121 I2C Issue

by walex94 on Fri Jan 08, 2021 7:28 am

@mikeysklar
I'm using a 25W 5V power supply to drive the Pi Zero via the 5V pin. Currently it's drawing around 500mA as I have some additonal components (LED-strips, relays etc.) attached to it.

I did some more in depth testing and it seems that the pull up resistors on the SDA and SCL lines, which are present on multiple sensors, are causing issues. I removed the two pull up resistors on the Si7021 and it seems to work reliably now.
I guess all those pull up resistors in parallel were drawing too much current?

walex94
 
Posts: 2
Joined: Thu Dec 03, 2020 3:45 am

Re: MPR121 I2C Issue

by mikeysklar on Fri Jan 08, 2021 2:56 pm

Congratulations on finding a workable solution (remove the pullups).

How long were the cables chaining between each sensor? Those can quickly add up as they do need to be quite short for reliable i2c.

mikeysklar
 
Posts: 2880
Joined: Mon Aug 01, 2016 8:10 pm

Please be positive and constructive with your questions and comments.