2021-06-04 05:10 AM
Hello,
I am using multiple different sensors which require different pull-up resistors. For I2C BUS, I have to use just one pull-up resistor value for all sensors. How can I calculate or decide the resistor value?
MCU is STM32WB55.
Sensors are VL53L3CXV0DH and LSM6DSOTR.
Thank you,
Batuhan
Solved! Go to Solution.
2021-06-04 07:31 AM
No, your sensors do not require different pull up values. Pull up resistor in I2C bus has to charge bus capacitances fast enough. And every chip must be able drive the bus/pull-up down.
Pull up resistor depends on how much capacitance your bus has =its lenght. And how many devices there are on the bus. You should check what is weakest chip on your, don't use lower resistor than that.
You need pull ups for both Sda and Scl.
Try 5k.
2021-06-04 07:31 AM
No, your sensors do not require different pull up values. Pull up resistor in I2C bus has to charge bus capacitances fast enough. And every chip must be able drive the bus/pull-up down.
Pull up resistor depends on how much capacitance your bus has =its lenght. And how many devices there are on the bus. You should check what is weakest chip on your, don't use lower resistor than that.
You need pull ups for both Sda and Scl.
Try 5k.
2021-06-04 08:12 AM
Usually a function of how long the connectivity is and how fast you plan on driving things. It everything is on a single board, with close proximity it's going to be a lot easier than having lots of board, hung off lots of cables. Also how much sink current the OD transistors on the I2C slave(s) expect to be sinking.
2021-06-04 11:11 AM
And you can check with an oscilloscope if all signals square and go from 0V to +VDD.
2021-06-06 11:15 PM
Thank you for your replies @LMI2 and @Community member
They help me understand the topic.
Best regards