Sense the magnetic fields surrounding us with this handy triple-axis magnetometer (compass) module. Magnetometers can sense where the strongest magnetic force is coming from, generally used to detect magnetic north, but can also be used for measuring magnetic fields. This sensor tends to be paired with a 6-DoF (degree of freedom) accelerometer/gyroscope to create a 9-DoF inertial measurement unit that can detect its orientation in real-space thanks to Earth's stable magnetic field.
This breakout board is based on the MMC5603, a great general purpose magnetometer with a very wide range and both I2C and SPI interfaces. This compact sensor uses I2C to communicate and it's very easy to use. Simply download Adafruit library and connect the SCL pin to your I2C clock pin, and SDA pin to your I2C data pin and upload our test program to read out magnetic field data. If you'd like, you can also use SPI to receive data (we just happen to prefer I2C here)
This sensor can sense ranges from ±30 Gauss (±3000uT or ±3mT) with no range-setting required and full 20 bit output up to 1000 Hz rate reading. The range makes it good for reading Earth's magnetic field (which maxes at about 0.6 Gauss) or some basic magnets.
To make life easier so you can focus on your important work, the board is designed to support both 3.3V or 5V logic levels. Additionally, since it speaks I2C you can easily connect it up with two wires (plus power and ground!). It also includes SparkFun qwiic compatible STEMMA QT connectors for the I2C bus so you don't even need to solder! Just wire up to your favourite micro and you can use CircuitPython/Python or Arduino drivers to easily get magnetic measurements.
It's fully assembled and tested. Comes with a bit of 0.1" standard header in case you want to use it with a breadboard or perfboard. Four 2.5mm (0.1") mounting holes for easy attachment.
- I2C Address 0x30
- Monolithic integrated 3-axis AMR magnetic sensor
- Superior Dynamic Range and Accuracy:
- ±30 G FSR
- 20bits operation mode
- 0.0625mG per LSB resolution
- 2 mG total RMS noise
- Enables heading accuracy of 1º
- Sensor true frequency response up to 1KHz
- I²C peripheral, fast (≤ 400 KHz) mode
- Ultra-Small Wafer Level Package 0.8x0.8x0.4 mm
- On-chip automatic degaussing with built-in SET/RESET function
- Eliminates thermal variation induced offset error (Null field output)
- Clears the residual magnetization resulting from strong external fields
- On-chip sensitivity compensation
- On-chip temperature sensor