I have a GY-85 board which has a HMC5883L, ADXL345 and IGT3200 all on the same board. I can get them to work independently just fine, I can get the ADXL345 and IGT3200 to work at the same time, but whenever the HMC588L is involved with either of the others there seem to be some sort of code compatibility issue. I haven't look too deeply yet, want to see if anyone else has had similar issues. I am compiling for a Teensy 3.0 using Arduino interface. /home/jca/Arduino_Build/I2C_test_IMU/I2C_test_IMU.ino.cpp.o: In function `setup': /home/jca/Arduino_Build/I2C_test_IMU/I2C_test_IMU.ino.cpp:47: undefined reference to `HMC5883L::initialize()' /home/jca/Arduino_Build/I2C_test_IMU/I2C_test_IMU.ino.cpp:54: undefined reference to `HMC5883L::testConnection()' I think the problem might depend on the order of the includes in the code. Sometimes I get: /home/jca/Arduino_Build/HMC5883L_raw/HMC5883L_raw.ino.cpp:51: undefined reference to `ITG3200::ITG3200()' /home/jca/Arduino_Build/HMC5883L_raw/HMC5883L_raw.ino.cpp:52: undefined reference to `ADXL345::ADXL345()' Any ideas?