The LSM303DLH is a triple axis magnetometer (Compass) combined with a triple axis accelerometer. This breakout board uses the LSM303DLH to give a you the data you need to feed into a microcontroller or Arduino and calculate Compass tilt-compensated and more accurate output.
Why you may need tilt compensation for compass?
A problem that traditional compasses have is that they need to be held flat (in horizontal plane) to make correct measurements. For example, if you tilt the compass in vertical plan to 45 degrees the reading will be more inaccurate.
This problem occurs because the compass is only using the X and Y axis of the earths magnetic field. When the compass is not parallel to these axis the amount of magnetism will change based on how out of alignment the compass is to these axis.
If however we want to be able to compensate our compass for tilt up, we will need a way to include in our calculations the third axis, Z, which (when tilted) now collects the magnetic field lost by X and Y when they are tilted out of alignment.
For that, the 3 Axis accelerometer is used. As accelerometer can measure the tilt to the earth through measuring the gravity component G.
Features
- +- 2/4/8 g dynamically selectable full-scale
- 16-bit data out
- I2C interface
- Embedded self-test capability
Tilt Compensated Compass Schematic
Tilt Compenstaed Compass Datasheet
Arduino Example Code for Tilt Compensated Compass (Arduino)
Application Notes For Compass Sensor