Adafruit Triple-axis Magnetometer (Compass) Board - HMC5883L
He told you "Go West, young maker!" - but you don't know which way is West! Ah, if only you had this triple-axis magnetometer compass module. A magnetometer can sense where the strongest magnetic force is coming from, generally used to detect magnetic north.
We based this breakout on a popular and well loved magnetometer, the HMC5883L. This compact sensor uses I2C to communicate and its very easy to use. Since it's a 3.3V max chip, we added circuitry to make it 5V-safe logic and power, for easy use with either 3 or 5V microcontrollers. Simply connect VCC to +3-5V and ground to ground. Then read data from the I2C clock and data pins. There's also a Data Ready pin you can use to speed up reads (check the datasheet for details)
If using with an Arduino, its extra-easy to get started as we already wrote a nice little Arduino library with a matching tutorial to get you started. Simply download our library and connect the SCL pin to your Arduino's I2C clock pin, and SDA pin to your Arduino's I2C data pin and upload our test example sketch to read out magnetic field data and heading (i.e. which way is north)
This is the same magnetometer sensor that is inside the LSM303. So if you want an accelerometer as well as a magnetometer, check out the LSM303 - it has basically this sensor + a nice digital 3-axis accelerometer!
1-2 degree heading accuracy
Integrated 12-bit ADC
160Hz max data rate
Range of -8 to +8 Gauss