Communicate digital data between an Arduino and a MPU6050 inertial motion sensor over a I2C bus.
Please be sure to review the general information about I2C and SPI in the previous exercise prior to starting this one.
This exercise will use a MPU6050 I2C Accelerometer/Gyro inertial sensor module from Sparkfun. This modules is based on the InvenSense MPU-6050 Motion Processing Unit. Example Arduino code is available from github as part of the larger i2cdevlib, which provides drivers for many I2C devices.
The sketch is a relatively complex piece of software for a microcontroller, and it uses more than half of the available Arduino Uno program space. But it is also solving a complex example of processing 3D motion data.
For a challenge, clone the original i2cdev library from github and install it in your Arduino IDE libraries path, then try compiling the original unmodified example.