

The GY-91 is a compact and versatile sensor module that integrates multiple sensors into a single board. It features a 3-axis accelerometer, a 3-axis gyroscope, and a 3-axis magnetometer, making it ideal for applications requiring motion tracking, orientation sensing, and environmental awareness. The module is based on the MPU-9250 (IMU) and BMP280 (barometric pressure sensor) chips, providing high precision and reliability.








| Parameter | Value |
|---|---|
| Operating Voltage | 3.3V to 5V |
| Communication Interface | I2C, SPI |
| Accelerometer Range | ±2g, ±4g, ±8g, ±16g |
| Gyroscope Range | ±250°/s, ±500°/s, ±1000°/s, ±2000°/s |
| Magnetometer Range | ±4800 µT |
| Barometric Pressure Range | 300 hPa to 1100 hPa |
| Operating Temperature | -40°C to +85°C |
| Dimensions | 15mm x 15mm |
| Pin Name | Description |
|---|---|
| VCC | Power supply input (3.3V to 5V). |
| GND | Ground connection. |
| SCL | Serial Clock Line for I2C communication. |
| SDA | Serial Data Line for I2C communication. |
| CS | Chip Select for SPI communication (active low). |
| SDO | Serial Data Output for SPI communication. |
| INT | Interrupt pin for motion detection or data-ready signals. |
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_BMP280.h>
// Create instances for MPU6050 (IMU) and BMP280 (barometric sensor)
Adafruit_MPU6050 mpu;
Adafruit_BMP280 bmp;
void setup() {
Serial.begin(115200);
while (!Serial); // Wait for Serial Monitor to open
// Initialize MPU6050
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 chip!");
while (1);
}
Serial.println("MPU6050 initialized successfully!");
// Initialize BMP280
if (!bmp.begin(0x76)) { // Default I2C address for BMP280
Serial.println("Failed to find BMP280 sensor!");
while (1);
}
Serial.println("BMP280 initialized successfully!");
}
void loop() {
// Read accelerometer and gyroscope data
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
// Print accelerometer data
Serial.print("Accel X: "); Serial.print(a.acceleration.x); Serial.print(" m/s^2, ");
Serial.print("Y: "); Serial.print(a.acceleration.y); Serial.print(" m/s^2, ");
Serial.print("Z: "); Serial.print(a.acceleration.z); Serial.println(" m/s^2");
// Print gyroscope data
Serial.print("Gyro X: "); Serial.print(g.gyro.x); Serial.print(" rad/s, ");
Serial.print("Y: "); Serial.print(g.gyro.y); Serial.print(" rad/s, ");
Serial.print("Z: "); Serial.print(g.gyro.z); Serial.println(" rad/s");
// Read and print barometric pressure
Serial.print("Pressure: "); Serial.print(bmp.readPressure()); Serial.println(" Pa");
// Delay for readability
delay(1000);
}
No Data from the Sensor:
Inaccurate Readings:
Module Not Detected:
By following this documentation, you can effectively integrate the GY-91 sensor module into your projects and troubleshoot common issues with ease.