I²C Pull-up Resistors with Multiple Devices on SDA/SCL – ESP32 Design Question

muhammed12
Posts: 5
Joined: Thu Apr 17, 2025 2:46 pm

I²C Pull-up Resistors with Multiple Devices on SDA/SCL – ESP32 Design Question

Postby muhammed12 » Thu Apr 17, 2025 2:49 pm

Hello

I'm designing a custom PCB using an ESP32 that communicates over I²C with multiple devices (SEN55 air quality sensor and 4 ADS1115 ADCs) Currently all devices are connected to the same SDA and SCL lines.

Each device datasheet suggests pull-up resistors on SDA and SCL (SEN55 recommends 4.7kΩ, ADS1115 recommends 10kΩ), and as a result, I currently have 4 resistors on the I²C bus (2 × 4.7kΩ, 2 × 10kΩ).

My questions are:

1. Is it electrically safe and recommended to have multiple pull-up resistor pairs on the same I²C bus?
2. Should I remove all but one pair of pull-ups? If so, which value is ideal for ESP32 with short trace lengths (less than 10 cm)?

Thanks in advance for your help

username
Posts: 594
Joined: Thu May 03, 2018 1:18 pm

Re: I²C Pull-up Resistors with Multiple Devices on SDA/SCL – ESP32 Design Question

Postby username » Sun Apr 20, 2025 12:49 am

you will be just fine with just one set of 4.7k on the bus.

eriksl
Posts: 199
Joined: Thu Dec 14, 2023 3:23 pm
Location: Netherlands

Re: I²C Pull-up Resistors with Multiple Devices on SDA/SCL – ESP32 Design Question

Postby eriksl » Sun Apr 20, 2025 1:34 pm

The whole concept of the I2C bus is that you have one (1) set of pull up resistors. With every resistor you add in parallel, the pull-up resistors values decreases (if they're the same value, the values become half of it). Normally each device type has a maximum bus drive strength which translates into a minimum pull-up resistor value. Most devices can drive 2k2 though, some even 1k. 4k7 is a very safe default (which I always use), you only need to explore lower values if your bus becomes long, very long, e.g. over 5 meters. Over around 10 meters I'd use a bus extender. Or place another microcontroller altogether.

Who is online

Users browsing this forum: No registered users and 3 guests