This question already has an answer here:

Looking at the datasheet

On page 32, the datasheet says "The MPU-9250 always operates as a slave device when communicating to the system processor, which thus acts as the master. SDA and SCL lines typically need pull-up resistors to VDD. The maximum bus speed is 400 kHz."

There's no information about what value pull up resistors to use. Doing a quick search on google for mpu9250 schematics I see this schematic enter image description here

It uses 10k resistors as pull ups. My question is whether this is accurate, and more importantly can I settle for 4.7k resistors since those are what I have lying around?


marked as duplicate by Chris Stratton, DoxyLover, Enric Blanco, SamGibson, Voltage Spike Jun 21 '17 at 15:47

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 4
    \$\begingroup\$ It's not the MPU9250 which determines this, but I2C in general. 10K may work, but sounds a bit high. Something in the range of 2.2K - 4.7K is typical, so you could use one 4.7K resistor per line, or even put a parallel pair on each. \$\endgroup\$ – Chris Stratton Jun 21 '17 at 6:22
  • \$\begingroup\$ @Stratton thank you this answers my question. If 10k is too high, why does every schematic I've seen so far use it? \$\endgroup\$ – user33335 Jun 21 '17 at 7:00
  • \$\begingroup\$ Laziness. At least it's not using the internal pull-ups of an Arduino, which are typically 3-5x bigger... \$\endgroup\$ – Majenko Jun 21 '17 at 8:29
  • \$\begingroup\$ 10K is not always too weak. It depends on the circuit loads and the needs - see the link. \$\endgroup\$ – Chris Stratton Jun 21 '17 at 14:45