Hi there,
So , OK… You will need to start here and read through this… The Xiao is the same requires Pull-UP res. if your device doesn’t already have them.
More or less . I2C requires two pull-up resistors, one each for the SDA (data) and SCL (clock) lines, to pull the signals to a high state when the bus is not being actively driven low. These resistors are typically in the
2kΩ2 k ohm
to 10kΩ10 k cap ohm
range, with
4.7kΩ4.7 kohm
4.7𝑘Ω
and
10kΩ10 kohm
10𝑘Ω
being common values, and should be connected to the same voltage supply as the devices’ logic level. Many I2C breakout boards have these resistors built-in.
Role of pull-up resistors in I2C
- Default state: The I2C bus uses open-drain or open-collector configurations, meaning devices can pull the line low but not high. Pull-up resistors provide a default high state for the bus lines.
- Bus operation: When a device is not transmitting, the pull-up resistor pulls the signal line high. When a device wants to send a low bit, it connects the line to ground, overriding the pull-up resistor.
- Multiple devices: Using pull-up resistors ensures that only one device can actively pull the line low at a time. If every device had an integrated pull-up resistor, the driving device would have to handle the current from all of them.
HTH
GL
PJ ![]()