Using the GY80 10DOF module with Arduino

I recently purchased a 10 Degrees of Freedom (10DOF) sensor from eBay called a GY-80. It’s a compact module that includes a gyroscope, accelerometer, digital compass, and a barometric pressure / temperature sensor.

GY80 Top Labeled

All of the individual sensors are accessible over I2C so you only need 4 connections to access all those sensors. SDA, SCL, Ground and VCC (you can use 3.3v or 5v).

GY80 Bottom Labeled

Each component can be accessed individually. I was planning on doing a write-up on each one, but it looks like Bildr beat me to the punch as they already have a great tutorial for each component. Here are the links to the datasheets and tutorials for each component:


3 axis gyroscope from ST
L3G4200D Datasheet
Bildr Tutorial:


3 axis accelerometer from Analog Devices
ADXL345 Datasheet
Bildr Tutorial:


3 axis digital compass from Honeywell
HMC5883L Datasheet
Bildr Tutorial:


Barometric Pressure and Temperature Sensor from Bosch
BMP085 Datasheet
Bildr Tutorial:

Next steps

This module can be used individually as the articles above show but they can also be monitored at the same time. MultiWii is an open source software project that is used as the brain of multi-copter projects. The code runs on Arduino and it is compatible with a large variety of sensors (the GY80 being one of them). It does require a little tinkering to get it working properly. I’ll document the process in a future article. Also since this module works over I2C it can also be accessed using a Raspberry Pi.

16 thoughts on “Using the GY80 10DOF module with Arduino

  1. Hi! thanks for your work. I set up the arduino mega to read from I2C. It seems all ok, but the gyro output values exceed the 2000 dps :(

    • The first module I received was defective, the L3G4200D was not sending proper data. I contacted the seller and after quite a while they did replace it.

  2. Hello friend, Thank you so much for your post, is an excellent work. I just wondered if you can obtain the addresses for all the four sensors how do you know who is who?

    I2C Scanner
    I2C device found at address 0x1E !
    I2C device found at address 0x53 !
    I2C device found at address 0x69 !
    I2C device found at address 0x77 !

    I’d would like to use this board with the beaglebone black but I dont know how to start, if you can help me, I appreciate it greatly…


    • The info is in the Datasheets but I pulled it out for you here:

      I2C Address 0x1E is the HMC5883L
      I2C Address 0x53 is the ADXL345
      I2C Address 0x69 is the L3G4200D
      I2C Address 0x77 is the BMP085

  3. Pingback: UAV Software | basedrob

  4. Pingback: GY-80 BMP085 9-Axis Magnetic Acceleration Gyroscope | Hozzy

  5. Pingback: Il Blog di Michele Pinassi Primi esperimenti con la BeagleBone Black - Collegare 10DOF via I2C » Il Blog di Michele Pinassi

  6. Pingback: What is the fastest and easiest way to transmit arduino's sensor data to a PC wirelessly | Question and Answer

    • The main difference is that the GY-87 has a combined gyro and accelerometer (MPU6050) where the GY-80 uses separate devices. I see that the MPU6050 is supported by MultiWii. I would think either would be a fine choice.

Leave a Reply