Grablo Help Grablo Help
  • User Manual
  • Tips
  • News
  • Go to
    • Grablo Home
    • Grablo App
  • 한국어
Grablo Help Grablo Help
문의하기
Grablo Help Grablo Help
  • User Manual
  • Tips
  • News
  • Go to
    • Grablo Home
    • Grablo App
  • 한국어
loading
  1. Home
  2. User Manuals
  3. I/O Device
  4. MPU-9250 9-Axis IMU Sensor
Updated on August 11, 2025

User Manuals

  • Folder icon closed Folder open iconQuick Start Guide
    • Grablo!
    • Basic Concepts
  • Folder icon closed Folder open iconProject
    • General
    • Sharing Project
  • Folder icon closed Folder open iconLogic
    • Logic
    • Control Group
    • Control
    • Condition Group
    • Action Group
    • Condition
      • General
      • Type
        • Always Met
        • Once Met
        • Variable Comparison
        • Schedule
        • Time Range
        • Time Interval
        • Condition Reference
        • Action Reference
        • Change Detection
        • Custom Condition
    • Action
      • General
      • Type
        • Write Variable
        • I/O Device Control
        • Time Delay
        • Timer
        • Display Image
        • Play Media
        • Synthesizer
        • Audio Recording
        • Audio Transform
        • Shell Command
        • Speech-to-Text
        • Text-to-Speech
        • File System
        • Read/Write File
        • Database
        • HTTP Communication
        • MQTT Communication
        • OPC UA Communication
        • Modbus Communication
        • Send Email
        • Telegram Message
        • User Defined Communication
        • PID Control
        • Statistics
        • Collection
        • Custom Action
  • Folder icon closed Folder open iconDashboard
    • General
    • Widgets
  • Folder icon closed Folder open iconSetting
    • GPIO
    • Variables
    • I/O Device
    • File Editor
    • Collection
    • Timer
    • Image Viewer
    • Audio Transfrom
    • Media Player
    • Synthesizer
    • Text-to-Speech
    • Speech-to-Text
    • Audio Recorder
    • MQTT Client
    • OPC UA Client
    • Modbus
    • Email Client
    • Telegram Bot
    • Database
    • User Defined Communication
    • PID Control
    • Statistics
  • Folder icon closed Folder open iconI/O Device
    • DS18B20 Digital Temperature Sensor
    • MAX31865 RTD Temperature Sensor
    • TinyGPS++ GPS Library
    • BMP180 Digital Pressure and Temperature Sensor
    • AHTx0 Temperature and Humidity Sensor
    • SHT2x Temperature and Humidity Sensor
    • Servo Motor Control
    • PWM Signal Output
    • PWM Signal Monitoring
    • Hardware PWM Signal Output
    • LED Control
    • Push Button Input
    • Digital I/O
    • Stepper Motor Control
    • High Speed Counter
    • ADS1x15 ADC
    • ADXL345 3-Axis Accelerometer
    • BME280 Temperature, Humidity, Pressure Sensor
    • BMP280 Temperature, Pressure Sensor
    • MLX90614 Infrared Temperature Sensor
    • MCP4725 DAC
    • QMC5883L 3-Axis Magnetometer
    • SHT31 Digital Temperature and Humidity Sensor
    • TCS34725 RGB Color Sensor
    • VEML6070 UV Sensor
    • BH1750 Digital Light Intensity Sensor
    • DS3231 RTC High-Precision Real-Time Clock
    • MPU-9250 9-Axis IMU Sensor
    • CCS811 Carbon Dioxide and TVOC Air Quality Sensor
    • VL53L0X ToF Laser Distance Sensor
    • TFmini Plus(S) LiDAR Distance Sensor
    • MAX7219 8-Digit 7-Segment Display
    • PCF8574 LCD Display Driver
    • HC-SR04 Ultrasonic Distance Sensor
    • LED Brightness Control
    • RGB LED Color Control
    • DC Motor Control
    • AT24C256 EEPROM Memory
    • DHTxx Temperature and Humidity Sensor
    • MCP3xxx ADC
    • LCD Display Driver (MCP23008, MCP23017)
    • MFRC522 RFID Reader
    • Passive Buzzer
    • NeoPixel (WS281x) LED
    • Infrared (IR) Receiver
    • NeoPixel Matrix
    • ST77xx TFT Color LCD
    • ILI9341 TFT Color LCD
    • SSD1306 0.96-inch Monochrome OLED Display
    • SH1106 1.3-inch Monochrome OLED Display
    • MAX7219 8×8 LED Dot Matrix
    • HT16K33 4-Digit 7-Segment Display
    • HX711 Load Cell 24-bit AD Converter
    • TCS3200 RGB Color Sensor
    • MPU6050 6-Axis Gyro Accelerometer
    • TM1637 4-Digit 7-Segment Display
    • PM2008(M) Particulate Matter Sensor
    • PMS x003 Particulate Matter Sensor
    • MAX30102 SpO2 and Heart Rate Sensor
    • AS608, FPM10A Fingerprint Sensor
    • TTP229 Capacitive 16-Key Touch Keypad
    • 4×4 Keypad Matrix
    • Analog to Digital Converter (ADC)
    • Digital to Analog Converter (DAC)
    • RPM Monitor
    • PCA9685 16-Channel 12-Bit PWM Servo Driver
    • INA219 DC Current Sensor
    • VL6180X ToF Distance Sensor
    • Custom Digital Waveform Output
    • NRF24L01 2.4GHz RF Module
  • Folder icon closed Folder open iconBlock Coding
    • General
    • Blocks
      • Values
      • Logic
      • Loop
      • Math
      • Date/Time
      • Text
      • Byte Array
      • List
      • Type Conversion
      • Unit Conversion
      • Science
      • Bit/Byte
      • Complex Numbers/Vectors
      • JSON
      • XML
      • Local Variables
      • Local Functions
  • Folder icon closed Folder open iconConnect & Run
    • Hardware and Operating System
    • Grablo Package Installation
    • Connect and Run

MPU-9250 9-Axis IMU Sensor

Estimated reading: 5 minutes 296 views

Overview

A 9-axis IMU sensor that integrates a 3-axis gyroscope, 3-axis accelerometer, 3-axis magnetometer, and digital motion processor. This low-cost, high-performance sensor is used for motion control in various devices such as smartphones and drones. It uses an I2C interface.


Specifications
  • Operating voltage :3 – 5V
  • Three 16-bit analog-to-digital converters (ADCs) for digitizing the gyroscope outputs
  • Three 16-bit ADCs for digitizing the accelerometer outputs
  • Three 16-bit ADCs for digitizing the magnetometer outputs
  • Gyroscope full-scale range of ±250, ±500, ±1000, and ±2000°/sec (dps)
  • Accelerometer full-scale range of ±2g, ±4g, ±8g, and ±16g
  • Magnetometer full-scale range of ±4800μT
  • Internal Digital Motion Processing engine supports advanced MotionProcessing and low power functions such as gesture recognition using programmable interrupts


Supported GPIO
  • Raspberry Pi 0~4
  • Raspberry Pi 5
  • BeagleBone Black/Green
  • Jetson Nano
  • FT232H, FT2232H, FT4232H
  • MCP2221

​

Commands

[SETUP]

Configures the module.

Item Type Description
Accel Full Scale WRITE Selects the accelerometer’s measurement range (Full Scale). (±2g, ±4g, ±8g, ±16g)
Gyro Full Scale WRITE Selects the gyroscope’s measurement range (Full Scale). (±250dps, ±500dps, ±1000dps, ±2000dps)
Mag Output WRITE Selects the magnetometer’s output resolution. (14bits, 16bits)
FIFO Sample Rate WRITE Selects the sampling rate per second. (1000Hz, 500Hz, 333Hz, 250Hz, 200Hz, 167Hz, 143Hz, 125Hz)
Gyro DLPF_CFG WRITE Selects the bandwidth of the gyroscope’s Digital Low Pass Filter. Lower values reduce noise but slow response time, while higher values increase response speed but add noise. (250Hz, 184Hz, 92Hz, 41Hz, 20Hz, 10Hz, 5Hz, 3600Hz)
Accel DLPF_CFG WRITE Selects the bandwidth of the accelerometer’s Digital Low Pass Filter. Lower values reduce noise but slow response time, while higher values increase response speed but add noise. (218Hz_0, 218Hz_1, 99Hz, 45Hz, 21Hz, 10Hz, 5Hz, 420Hz)
Mag Declination (°) * WRITE Enter the magnetic declination for the current location in degrees (°). Magnetic declination varies with location and time.
Select Filter WRITE Selects the Quaternion filter. (none, Madgwick, Mahony)
Set Filter Iteration WRITE Sets the number of iterations for the Quaternion filter.
* For magnetic declination at your current location and time, refer to here. For example, the magnetic declination in Seoul on March 26, 2025 is -8° 58′ = -8° – 58/60° = −8.9667°.

​

[GET_RAW_DATA]

Reads the measured values from accelerometer, gyroscope, and magnetometer.

Item Type Description
Accel X (g) READ Accelerometer X-axis
Accel Y (g) READ Accelerometer Y-axis
Accel Z (g) READ Accelerometer Z-axis
Gyro X (deg/s) READ Gyroscope X-axis
Gyro Y (deg/s) READ Gyroscope Y-axis
Gyro Z (deg/s) READ Gyroscope Z-axis
Mag X (mG) READ Magnetometer X-axis
Mag Y (mG) READ Magnetometer Y-axis
Mag Z (mG) READ Magnetometer Z-axis

​

[GET_YAW_PITCH_ROLL]

Calculates Yaw, Pitch, and Roll.

​

Item Type Description
Yaw (º) READ Yaw angle
Pitch (º) READ Pitch angle
Roll (º) READ Roll angle
The execution cycle for this command should be set as small as possible. The larger the execution cycle, the proportionally larger the value error becomes.
Example: Set the execution cycle of the [Logic] containing the [Action] that executes this command to 10ms.

​

[SET_BIAS]

Sets the calibration bias values.

Item Type Description
Accel Bias X (g) WRITE Accelerometer X-axis bias
Accel Bias Y (g) WRITE Accelerometer Y-axis bias
Accel Bias Z (g) WRITE Accelerometer Z-axis bias
Gyro Bias X (deg/s) WRITE Gyroscope X-axis bias
Gyro Bias Y (deg/s) WRITE Gyroscope Y-axis bias
Gyro Bias Z (deg/s) WRITE Gyroscope Z-axis bias
Mag Bias X (mG) WRITE Magnetometer X-axis bias
Mag Bias Y (mG) WRITE Magnetometer Y-axis bias
Mag Bias Z (mG) WRITE Magnetometer Z-axis bias
Mag Scale X WRITE Magnetometer X-axis scale
Mag Scale Y WRITE Magnetometer Y-axis scale
Mag Scale Z WRITE Magnetometer Z-axis scale

​

[CALIB_ACCEL_GYRO]

Calibrates the accelerometer and gyroscope sensors. Place the module on a flat surface facing upward before executing the command. Ensure the module does not move until calibration is complete.

​

[CALIB_MAG]

Calibrates the magnetometer sensor. Execute the command and continuously move the module in an ∞ (infinity) pattern until calibration is complete.

​

[GET_BIAS]

Reads the calibration bias values.

Item Type Description
Accel Bias X (g) READ Accelerometer X-axis bias
Accel Bias Y (g) READ Accelerometer Y-axis bias
Accel Bias Z (g) READ Accelerometer Z-axis bias
Gyro Bias X (deg/s) READ Gyroscope X-axis bias
Gyro Bias Y (deg/s) READ Gyroscope Y-axis bias
Gyro Bias Z (deg/s) READ Gyroscope Z-axis bias
Mag Bias X (mG) READ Magnetometer X-axis bias
Mag Bias Y (mG) READ Magnetometer Y-axis bias
Mag Bias Z (mG) READ Magnetometer Z-axis bias
Mag Scale X READ Magnetometer X-axis scale
Mag Scale Y READ Magnetometer Y-axis scale
Mag Scale Z READ Magnetometer Z-axis scale



Example

Objective

Display the sensor’s Yaw, Pitch, and Roll values on dashboard widgets.


Parts
Part Quantity
Raspberry Pi 4 * 1
MPU9250 1
* Other hardware can also be used. Refer to Supported GPIO.


Wiring

Connect each component to the corresponding connection as listed in each row below.

MPU9250 GPIO
VIN 3.3V
GND GND
SCL 3 (I2C1 SCL)
SDA 2 (I2C1 SDA)
AD0 * Not Connected
* If not connected, I2C address is 0x68; if connected to 3.3V, it is 0x69. (May vary depending on module manufacturer.)


Project Link

​

Calibration

  • Execute CALIB_ACCEL_GYRO and CALIB_MAG commands (only once initially)
  • Execute GET_BIAS command to read bias values (only once initially)
  • Add SET_BIAS to the module’s initialization commands and enter the obtained bias values
  • From the next execution onward, calibration is applied based on the bias values entered in SET_BIAS

​

References

Datasheet

Library

찾으시는 내용이 없나요? 문의하기

문의하기

공유하기

MPU-9250 9-Axis IMU Sensor

Or copy link

Clipboard Icon
콘탠츠

ㅤ

Grablo Inc.
support@grablo.co

Site Links

  • Grablo Home
  • Grablo App

이 사이트의 모든 컨텐츠는 저작권법에 보호받는 저작물로서, 무단으로 복제, 배포하는 경우에는 저작권법에 의하여 처벌을 받을 수 있습니다. Copyright 2024 grablo.co. All Rights Reserved.