I have a 2-motor robot project that uses a MP6050 for relative heading (yaw) measurements, and I'm having problems with the I2C bus when the motors are running. I have done most of the things suggested here and elsewhere; 2.2K pullups vs default, shortest possible (3cm) I2C wires, MPU6050 as far away from the motor drivers as possible, reduced I2C clock speed to 100KHz, etc, etc (for additional details, see my blog post on the subject).
So, my question is, why is the I2C bus so sensitive to RFI/EMI, especially with 2.2K pullups to +5V? Looking at the levels with my O'scope shows a 0-4.6V swing, so it's hard to believe that EMI-induced currents could be high enough across 2.2K to pull the 'high' level low enough to be considered a '0', so something else must be going on. Maybe the EMI is getting into the MPU6050 output driver circuit, causing it to turn off? If so, maybe capacitive bypasses on the I2C lines would help. Any ideas? Are other IMU modules less susceptible to motor driver EMI?