Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Gravity: 10 DOF IMU AHRS BNO055 + BMP280: Examples, Pinouts, and Specs

Image of Gravity: 10 DOF IMU AHRS BNO055 + BMP280
Cirkit Designer LogoDesign with Gravity: 10 DOF IMU AHRS BNO055 + BMP280 in Cirkit Designer

Introduction

The Gravity: 10 DOF IMU AHRS (Attitude and Heading Reference System) is a high-performance sensor module developed by DFRobot. It integrates the Bosch BNO055, a 9-axis absolute orientation sensor, and the BMP280, a high-precision barometric pressure sensor. This combination provides a comprehensive solution for motion tracking, orientation sensing, and environmental monitoring.

This module is ideal for applications such as robotics, drones, wearable devices, and IoT projects requiring precise motion and environmental data. Its plug-and-play design, combined with DFRobot's Gravity interface, makes it easy to integrate into projects.

Explore Projects Built with Gravity: 10 DOF IMU AHRS BNO055 + BMP280

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered Arduino UNO with BNO085 IMU and Bluetooth HC-06 for Orientation Tracking
Image of bno085: A project utilizing Gravity: 10 DOF IMU AHRS BNO055 + BMP280 in a practical application
This circuit integrates an Arduino UNO with an Adafruit BNO085 9-DOF Orientation IMU and a Bluetooth HC-06 module. The Arduino reads orientation data from the IMU via I2C and transmits it over Bluetooth, powered by a 7.4V battery.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Weather Station with MPU-6050 and BMP280 Sensors
Image of LAB Ubicomp: A project utilizing Gravity: 10 DOF IMU AHRS BNO055 + BMP280 in a practical application
This circuit integrates an MPU-6050 accelerometer and gyroscope sensor and a BMP280 barometric pressure sensor with an ESP32 microcontroller. The ESP32 reads data from both sensors via I2C communication to potentially monitor environmental conditions and motion.
Cirkit Designer LogoOpen Project in Cirkit Designer
Raspberry Pi 5-Based Multi-Sensor IMU System with MPU-6050 and LSM303c
Image of GRS: A project utilizing Gravity: 10 DOF IMU AHRS BNO055 + BMP280 in a practical application
This circuit integrates a Raspberry Pi 5 with multiple sensors, including an MPU-6050 accelerometer and gyroscope, and an LSM303c 6DOF IMU, to collect and process motion and orientation data. The Raspberry Pi serves as the central processing unit, interfacing with the sensors via GPIO pins and providing power to them.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO-Based IMU and Bluetooth Communication System
Image of New one: A project utilizing Gravity: 10 DOF IMU AHRS BNO055 + BMP280 in a practical application
This circuit features an Arduino UNO microcontroller interfaced with a Bluetooth HC-06 module for wireless communication and an Adafruit BNO085 9-DOF Orientation IMU for motion sensing. The Arduino handles data acquisition from the IMU via I2C and communicates the data wirelessly through the Bluetooth module.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Gravity: 10 DOF IMU AHRS BNO055 + BMP280

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of bno085: A project utilizing Gravity: 10 DOF IMU AHRS BNO055 + BMP280 in a practical application
Battery-Powered Arduino UNO with BNO085 IMU and Bluetooth HC-06 for Orientation Tracking
This circuit integrates an Arduino UNO with an Adafruit BNO085 9-DOF Orientation IMU and a Bluetooth HC-06 module. The Arduino reads orientation data from the IMU via I2C and transmits it over Bluetooth, powered by a 7.4V battery.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of LAB Ubicomp: A project utilizing Gravity: 10 DOF IMU AHRS BNO055 + BMP280 in a practical application
ESP32-Based Weather Station with MPU-6050 and BMP280 Sensors
This circuit integrates an MPU-6050 accelerometer and gyroscope sensor and a BMP280 barometric pressure sensor with an ESP32 microcontroller. The ESP32 reads data from both sensors via I2C communication to potentially monitor environmental conditions and motion.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of GRS: A project utilizing Gravity: 10 DOF IMU AHRS BNO055 + BMP280 in a practical application
Raspberry Pi 5-Based Multi-Sensor IMU System with MPU-6050 and LSM303c
This circuit integrates a Raspberry Pi 5 with multiple sensors, including an MPU-6050 accelerometer and gyroscope, and an LSM303c 6DOF IMU, to collect and process motion and orientation data. The Raspberry Pi serves as the central processing unit, interfacing with the sensors via GPIO pins and providing power to them.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of New one: A project utilizing Gravity: 10 DOF IMU AHRS BNO055 + BMP280 in a practical application
Arduino UNO-Based IMU and Bluetooth Communication System
This circuit features an Arduino UNO microcontroller interfaced with a Bluetooth HC-06 module for wireless communication and an Adafruit BNO085 9-DOF Orientation IMU for motion sensing. The Arduino handles data acquisition from the IMU via I2C and communicates the data wirelessly through the Bluetooth module.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Key Specifications

Parameter Value
Operating Voltage 3.3V - 5V
Communication Interface I2C
I2C Address (Default) 0x28 (BNO055), 0x76 (BMP280)
Orientation Sensor Bosch BNO055 (9-axis IMU)
Barometric Sensor Bosch BMP280
Operating Temperature -40°C to +85°C
Dimensions 30mm x 22mm

Pin Configuration

Pin Name Description
VCC Power supply (3.3V - 5V)
GND Ground
SDA I2C data line
SCL I2C clock line

Usage Instructions

Connecting the Module

  1. Power Supply: Connect the VCC pin to a 3.3V or 5V power source and the GND pin to ground.
  2. I2C Communication: Connect the SDA pin to the SDA pin on your microcontroller and the SCL pin to the SCL pin on your microcontroller.
  3. Pull-Up Resistors: Ensure that the I2C bus has appropriate pull-up resistors (typically 4.7kΩ) if not already present.

Using with Arduino UNO

The Gravity: 10 DOF IMU AHRS module is compatible with Arduino boards. Below is an example code to read orientation data from the BNO055 and pressure data from the BMP280.

Example Code

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BNO055.h>
#include <Adafruit_BMP280.h>

// Initialize BNO055 and BMP280 objects
Adafruit_BNO055 bno = Adafruit_BNO055(55);
Adafruit_BMP280 bmp;

void setup() {
  Serial.begin(9600);
  // Initialize BNO055
  if (!bno.begin()) {
    Serial.println("Error: BNO055 not detected. Check wiring or I2C address.");
    while (1);
  }
  Serial.println("BNO055 initialized successfully.");

  // Initialize BMP280
  if (!bmp.begin(0x76)) {
    Serial.println("Error: BMP280 not detected. Check wiring or I2C address.");
    while (1);
  }
  Serial.println("BMP280 initialized successfully.");
}

void loop() {
  // Read orientation data from BNO055
  sensors_event_t event;
  bno.getEvent(&event);
  Serial.print("Orientation - X: ");
  Serial.print(event.orientation.x);
  Serial.print(" Y: ");
  Serial.print(event.orientation.y);
  Serial.print(" Z: ");
  Serial.println(event.orientation.z);

  // Read pressure and temperature from BMP280
  Serial.print("Pressure: ");
  Serial.print(bmp.readPressure());
  Serial.println(" Pa");
  Serial.print("Temperature: ");
  Serial.print(bmp.readTemperature());
  Serial.println(" °C");

  delay(1000); // Delay for readability
}

Best Practices

  • Use a stable power supply to avoid noise in sensor readings.
  • Keep I2C lines as short as possible to reduce interference.
  • Calibrate the BNO055 sensor for accurate orientation data. Follow the calibration steps in the BNO055 datasheet or library documentation.

Troubleshooting and FAQs

Common Issues

  1. Sensor Not Detected:

    • Ensure the I2C connections (SDA, SCL) are correct.
    • Verify the I2C address matches the default (0x28 for BNO055, 0x76 for BMP280).
    • Check for loose or faulty wiring.
  2. Inaccurate Orientation Data:

    • Perform a full calibration of the BNO055 sensor.
    • Avoid placing the module near magnetic or metallic objects that can interfere with readings.
  3. No Pressure or Temperature Data:

    • Confirm the BMP280 is properly initialized in the code.
    • Check the power supply voltage and ensure it is within the operating range.

Tips for Troubleshooting

  • Use an I2C scanner sketch to confirm the module's I2C addresses.
  • Test the module with a different microcontroller to rule out hardware issues.
  • Refer to the DFRobot Gravity: 10 DOF IMU AHRS product page for additional resources and support.