A MicroPython I2C driver for the MPU9250 9-axis motion tracking sensor, providing accelerometer, gyroscope, and magnetometer data.
tuupola/micropython-mpu9250 is a MicroPython library that provides an I2C driver for the MPU9250 9-axis motion tracking sensor. It allows developers to read data from the sensor's accelerometer, gyroscope, magnetometer, and temperature sensor on MicroPython-compatible hardware like ESP32 or Raspberry Pi Pico. The library simplifies interfacing with the MPU9250 for motion sensing, orientation tracking, and embedded IoT applications.
Embedded developers and hobbyists working with MicroPython on boards like ESP32, who need to integrate motion tracking or orientation sensing into their projects. It's suitable for robotics, drones, wearable devices, or any application requiring 9-axis motion data.
Developers choose this library because it offers a clean, well-documented MicroPython interface for the MPU9250, with built-in support for magnetometer calibration and flexible unit options. It's actively maintained, includes practical examples, and exposes underlying drivers for advanced customization.
MicroPython I2C driver for MPU9250 9-axis motion tracking device
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a unified MPU9250 class to read acceleration, gyroscope, magnetometer, and temperature data, simplifying code structure as shown in the basic usage example.
Supports flexible units for acceleration (m/s² or g) and gyroscope (rad/s or deg/s), demonstrated with SF_G and SF_DEG_S scaling factors in the examples.
Includes calibration functions for AK8963 with hard and soft iron correction, essential for accurate compass readings in real-world applications like tilt-compensated navigation.
Exposes separate MPU6500 and AK8963 drivers, allowing advanced users to customize or use components independently, as noted in the composite design of MPU9250.
The README explicitly lists 'Gyro Calibration TODO', lacking built-in calibration for gyroscope data, which can affect motion tracking accuracy without additional work.
Users may encounter OSError: 26 or i2c driver install errors after soft reboots, requiring a hard reboot as a workaround, adding inconvenience in development cycles.
Magnetometer calibration involves a multi-step process including opening I2C bypass and manually storing calibration data, increasing setup complexity for beginners.