If you also want barometric data, check out the Adafruit 10DOF breakout, which adds a BMP180 barometric pressure sensor to measure altitude and temperature.
After testing a lot of combinations of sensors, we settled on the following devices that we think offer the best results and the least amount of hassle:
- LSM303DLHC - a 3-axis accelerometer (up to +/-16g) and a 3-axis magnetometer (up to +/-8.1 gauss) on a single die
- L3GD20 - a 3-axis gyroscope (up to +/-2000 dps)
The Adafruit 9DOF board and library reuses the existing Adafruit drivers for the LSM303DLHC (accelerometer and magnetometer) and the L3GD20 (gyroscope).
For information about these particular drivers, consult the following learning guides: