Have a look on page 6 of the
PCA9507's datasheet. It specifies typicall pull-up values of 10k and gives some formulas on what minimum and maximum Pull-Ups to use. They do for example mention that the minimum Pull-Up Resistor value depends on the maximum Pull-down current of your device(s).
The
P82B96's datasheet for example mentions a maximum output sink capability on I2C bus of 5.5mA, which equates to a minimum total pull-up resistance to 5V of 0.9k.
The
SHT31D's datasheet mentions a sink current of 3mA, at 5V that euqates to a minimum total pull-up value of 1.37k . That's already pretty close to your 2.2k
The
DS3231's datasheet mentions the same conditions, 1 to 3mA.
I would therefore caution against such strong pull-ups.
@robsworld78 1.8k on a PI sounds way too little resistance. I have looked it up:
here under "voltage specifications" it mentions a pull up between 50 to 65k. That sounds more reasonable.
@Simonv92 You can find a few pictures of my setup in my build thread, like
this post for example. I have made a kind of switchboard for the I2C line, which you can
see here. The switchboard is the big block of 2x8 female headers, made up of 4 blocks of interconnected 2x2 female headers, one block for each of VCC, GND, SCL and SDA. It's simply there to power the 5V side of my I2C network and provide connection to all 4 "devices", e.g. one line in from the level shifter, one line out to the USB sockets and one line each to the LTC4311 dynamic pull-up and RTC module.
If you scroll a bit down to
this post you can see the SCD30 Air Quality sensor that I have connected via a 1m shielded USB cable using USB-A sockets. The only strange thing is that I can't get a connection to the BMP280 air pressure sensor, that's connected identically next to the SCD30.
Downside to this is the ridiculuosly long power line that has way to many connectors with contact resistance, so I'll probably have to be carefull with current hungry devices :grinning-face-with-sweat: