I am designing a PCB board with an ESP32 and multiple I2C devices on the same I2C line.
One I2C device is an RTC (Real-Time Clock) chip, which is included in my board design. I will take the chip and design the circuit myself, so it's important to note that I am not using a pre-made module. Therefore, I will add pull-up resistors for this device as needed.
The second device is the ADS115 ADc chip, which I added myself to the board. This is also not a module, and I can add pull-up resistors on my own.
Two additional ports are open to connect external I2C supported sensor modules operating at 3.3V. These modules have built-in pull-up resistors ranging from 4.7k to 10k.
I want to achieve fast communication, and I found a Texas Instruments guide for determining the minimum and maximum resistance values. The rise time should be 300 ns for effective communication, which seems to be a critical factor. However, I’m unsure about the required capacitance (Cb). The sink current should be 3 mA.
I would appreciate your suggestion on using a 4.7kΩ pull-up resistor for both the SDA and SCL lines. Is this value seems suitable since we have the flexibility to design the PCB board to accommodate it.Or We should use separate pull-up resistors for all devices, which may result in decreasing total resistance because they will be in parallel.
