How to Read All Accelerometer, Gyroscope, Barometer and Compass Data from the GY801, GY80 aka 9-Axis Inertial Navigation Module for Arduino aka IMU 10DOF L3G4200D+ADXL345+HMC5883L+BMP180

I’m hacking on project that requires an accelerometer. I picked up this 9-Axis Inertial Navigation Module for Arduino from my local Vetco. That board is actually a GY801 (the newer version of the GY80). It has a gyroscope (L3G4200D), accelerometer (ADXL345), compass (HMC5883L) and a barometer (BMP180) (BMP085 on the GY80) all on one board.

Hooking this up to an arduino is simple, just connect:

  • 3V to 3.3V
  • GND to GND
  • SDA to SDA
  • SCL to SCL

I searched around a bit for some sample code to get all the data from each component and found this i2cdevlib GitHub repo that has sample sketches for every component included in the GY801. I combined all of the components included in the GY80 and GY801 boards into one sample sketch, which can be found here (I’ll update links if my PR is merged)

To get started quickly, just clone my fork, copy all the folders in the Arduino folder to your arduino/libraries folder and open up the GY80_raw.ino file and deploy. After you do that you should see output in your serial monitor like this: