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 https://github.com/jrowberg/i2cdevlib/pull/244/files. (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:

Jon