SparkX is constantly growing the Qwiic environment with sensors and controllers so that you can spend less time soldering and more time being a mad scientist / evil genius / loving robot parent. The newes addition to the family is the ever-popular MPU-9250 inertial measurement unit (IMU). An IMU is used to measure motion by detecting rotational rates, the acceleration vector, and the local magnetic field direction. Using this data and some math you can build things to respond to or control motion! Just a few examples include a head motion tracker, a self-balancing robot, or perhaps even an aircraft autopilot. What will you create?
The Qwiic MPU9250 IMU features the latest 9-axis MEMS sensor from InvenSense. The MPU9250 is a combined System-in-package (SIP) comprised of the MPU-6500 – a 3-axis gyroscope and 3-axis accelerometer combo – and the AK8963 3-axis magnetometer. The MPU-9250 replaces the popular EOL MPU-9150 and decreases power consumption by 44 percent. According to InvenSense, “Gyro noise performance is 3x better, and compass full-scale range is over 4x better than competitive offerings.” The MPU-9250 uses 16-bit Analog-to-Digital Converters (ADCs) for digitizing all nine axes, making it a very stable 9 Degrees of Freedom board.
The Qwiic MPU9250 board makes it easy to connect the sensor to an I2C bus with the sensor address of either 0x69 (default) or 0x68 (note: the default is the opposite of the default on the SparkFun MPU-9250 Breakout, so be sure you select the right address in your code). In addition to the I2C bus pins we have exosed the frame synchronization input pin FSYNC and the software-configurable interrupt pin INT.
If you are looking to use the optional SPI interface to the MPU-9250 then you will need to use the SparkFun MPU-9250 Breakout because the SDO pin is not broken out on the Qwiic version.
To top it all off we have provided two libraries to get you started with this IMU, both of which are availabel in the Arduino IDE. The SparkFun_MPU-9250_Breakout_Arduino_Library provides direct access to sensor readings which can then be transformed into motion detection using algorithms on the microcontroller. The more advanced SparkFun_MPU-9250-DMP_Arduino_Library implements proprietary code from InvenSense that performs digital motion processing (DMP) onboard the MPU9250 itself - this saves time and energy for your microcontroller to perform other tasks.