FeatherS3 I2C pullups & rise times
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- cherrydev
- Posts: 1
- Joined: Mon Mar 13, 2023 11:04 pm
FeatherS3 I2C pullups & rise times
So, the I2C pullups (enabled with GPIO pin 7) are documented to be 5k, though the schematic appears to show 10k. The measured rise time with that pullup is about 2.5us. Pullup is so weak that I even sometimes see truncated pulses. While the built-in LC709203F "fuel gauge" does work with this setup, the I2C specs show that the max rise time on the slowest I2C spec (<=100khz) is 1us. Additionally, scanning the I2C bus in this configuration does not reliably show the LC709203F, even though you can communicate with it. Adding additional pullup strength fixes that problem. This makes me wonder if the CircuitPython bug relating to the LC709203F (https://github.com/adafruit/circuitpython/issues/6311) is related to this. In addition, even with additional pullup strength, rise time is still pretty sluggish. To get under 300ns needed for 400khz with an additional offboard I2C device (a MPU6050) I need to put a 470Ohm pullup on there, which seems really strong. I've measured the capacitance of the i2c circuit and get 200pF for the feather and 100pF for the MPU6050 but I'm not certain if that accounts for the sluggish rise or if there's something else going on. Let me know if you want to see traces or something.
- adafruit_support_mike
- Posts: 67446
- Joined: Thu Feb 11, 2010 2:51 pm
Re: FeatherS3 I2C pullups & rise times
It is.
The I2C spec calls for 4.7k pull-ups on a 5V bus, so the nominal pull-up current is about 1mA. 470R on a 3.3V bus would be about 7mA, which is indeed high.
I'd suggest using the LTC4311 active terminator instead:
https://www.adafruit.com/product/4756
It watches SDA and SCL, and when it sees a change it creates a fast, low-impedance connection to the appropriate rail. It can do 400kHz with a 4000pF bus.
Please be positive and constructive with your questions and comments.