See this diagram:

multiple devices on a single bus

In the above diagram, multiple devices are connected to a single i2c bus.

In my previous question, I was wondering what would happen if there are too many devices on a single i2c bus. In this case, ESP32 has two buses. So I was wondering what would happen as I keep adding more devices to each bus?

I figure there are three scenarios: 1. Neither bus has too much load 2. One bus is below load, the other bus has too much load 3. Both buses have too much load.

What happens to my ESP32, and the devices connected to it in each of the above three cases?

  • 1
    \$\begingroup\$ Each device adds some capacitance. So you would need to use smaller pull-up resistors. If you're not talking about devices, but about modules which every one contains pull-up resistors, you should remove those resistors. \$\endgroup\$ Feb 4, 2020 at 14:42
  • \$\begingroup\$ I’m using modules like adafruit bno055, and drv2605L. To use those I normally just connect sda to sda, scl to scl etc. does that mean I don’t need to add resistors? \$\endgroup\$ Feb 4, 2020 at 15:05
  • 1
    \$\begingroup\$ assume some devices dont play well with others. you really need to use a scope to look at the bus to see that the levels are okay. with off the shelf modules where you dont have as much control and/or may not want to modify them you may end up with fewer items possible. \$\endgroup\$
    – old_timer
    Feb 4, 2020 at 15:21


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.