Please see all COVID-19 updates here as some shipments may be delayed due to CDC safety and staffing guidelines. If you have an order or shipping question please refer to our Customer Support page. For technical questions please check out our Forums. Thank you for your continued support.

MicroMag 3-Axis Magnetometer

Replacement: None. We are no longer carrying these MicroMags in our catalog. This page is for reference only.

PNI Corp's 3-axis magnetometer. Ready for the big time? Low noise, large resolution magnetic field sensing all packed into a user-friendly DIP module at your disposal. Stable over a wide temperature range, the MicroMag3 is a must have for orientation sensing and navigation.

  • 500uA @ 3.3V DC
  • Field measurement range +/-1100uT
  • Resolution as low as 0.015uT
  • SPI interface - no additional circuitry needed

MicroMag 3-Axis Magnetometer Product Help and Resources

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

3 Electrical Prototyping

Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • When using the example code, the program hangs at readAxis(1) (the y-axis), because it keeps waiting for DRDY to get pulled high. It only occurs with the y-axis, the x and z-axis behave normal. What causes this and how can I solve it?

    • If you have access to a multimeter, ensure that the traces make a connection to the y-axis sensor. Also, try testing the resistance of the y-axis sensor (should read ~36 ohms, as well as the x and z). I've had the same problem with a newer sensor.

  • Would I be able to use this to get angular orientation, like Euler Angles, in all 3 dimensions? I'd like to use this for a project that requires knowing angular positioning of a robotic arm.

  • Anybody knows the maximum sampling frequency it can reach? My experimental results indicate it can only reach 22Hz, which is very slow. Please give some suggestions on how to boost the sampling frequency. I am expecting a 500Hz sampling rate. Many thanks!

  • Anybody have any suggetions for coding this micromag3 sensor to just read mG as an EMF detector? Trying to use it as just measuring emf on all three axis with no negative numbers. When not near a field it should register as a 0 or close to 0.

  • A correction to the previous comment : you CAN release the chip select line during the measurement. It only has to be down during SPI communications : when sending the command, and when reading the result, preferably using an external interrupt on the DRDY line. The responsiveness of this magnetometer is so sharp (no hysteresis) that you can avoid using a gyro. See

  • Please be aware, that this device is pretty slow and according to the datasheet you have to keep the chip select line down during the whole sampling process. This slows down all communication on the SPI bus. So if you have other slaves on the same bus read the datasheet carefully!

  • According to the datasheet and the data above, it works at 3.3V, however in wiring example it is connected to 5V. Which one is correct?

  • The code in the wiring example is needlessly slow - I replaced the delay(2) calls with delayMicroseconds(1), and it seems to work (but I have not tested it rigorously).

  • Any chance we could get a picture of this with the normal rulers?

Customer Reviews

No reviews yet.