1
votes

I have a working EY88 10DOF IMU working on my raspberry platform without any pullup resistors. I have done some reading online and it states that pullup resistors are unquestionably needed?

  1. Do I need a pullup resistor for the SDA and SCL lines?
  2. Could this possibly increase data transfer speed?

Thank you Misha

3

3 Answers

1
votes

Pullups are definitely required. I2C devices have open-drain connections to the bus, meaning that they can not drive a high signal, they can only drive it low or "release" it. The pullups are what drives the SDA/SCL signals high. See Sparkfun's introductory article.

A couple of things could be at work here:

  1. The accelerator/gyro is mounted on some type of evaluation board that has the pullups integrated.

  2. The I/O lines on the Pi have internal pullups that are enabled.

0
votes

It depends on the total Cb (capacitive load -refer to each device's data sheet) of your bus as well as the chosen i2c mode. Your raspberry's 1.8 KOhm resistors on the SDA & SCL lines might be enough.

Here is an online tool for correctly sizing the resistors at different bus frequencies.