SparkFun HMC6343 Breakout

The HMC6343 is a fully integrated high end electronic compass module that can compute and give you a heading direction that’s accurate within a couple degrees. It is tilt compensated and is calibrated to handle magnetic distortions. This breakout board allows for easy use of the HMC6343. All that is required is power and I2C connections to a microcontroller so that the module can receive commands and send data back to the user.

The IC combines 3-axis magneto-resistive sensors and 3-axis MEMS accelerometers, analog and digital support circuits, a microprocessor and algorithms in firmware required for heading computation. The HMC6343 Breakout needs to be supplied with 3.3V @ 4.5mA and can measure and compute a heading direction every 200ms (5Hz). This board for the HMC6343 breaks out the all the pins you’ll need to send commands and collect data from the electronic compass including GND, 3.3V, SDA, and SCL.

  • Operating Voltage: 3.3V
  • Run Mode Current: 4.5mA
  • Compass with Heading/Tilt Outputs
  • 3-axis MR Sensors, Accelerometers and a Microprocessor in a Single Package
  • EEPROM Memory
  • I2C Interface

SparkFun HMC6343 Breakout Product Help and Resources

HMC6343 3-axis Compass Hookup Guide

August 7, 2014

How to hook the HMC6343 -- a high-end, tilt-compensated compass module -- up to an Arduino. Never get lost again!

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

1 Soldering

Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels

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.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
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.

  • Member #774968 / about 5 years ago / 1

    Very surprised you are still selling this without the DRDY connection broken out. I discussed this with you years ago and you were going to fix it. Synchronising data reads using DRDY is ESSENTIAL for reliable functioning of this device. Otherwise it will mysterious randomly hang and cause hours of frustration. I use HMC6343 in airborne (gliding) applications and it remains an excellent, reliable, fast, turnkey mobile compass solution, but ONLY if you use DRDY! NB. running calibration is essential in most real work applications if there is a sniff of steel nearby.

    • santaimpersonator / about 4 years ago * / 2

      Hey there, I took a look at an updated datasheet and the DRDY pin is listed as an optional connection. It appears to be used as an optional interrupt, to notify the microcontroller when there is available data. Am I mistaken on the information in the datasheet or is there possibly a newer datasheet that the one I linked?

  • Member #1383680 / about 6 years ago / 1

    I purchased two of these and have them running on two separate Mega 2560s each powered by usb. I am running the example basic sketch provided by Sparkfun on both. They each return heading values that are different when oriented in the same direction. They can be off as much as 20 degrees off depending on the orientation. It is essential for my project that they be in sync. Any suggestions on how to correct?

  • Zio / about 10 years ago / 6

    One day when I make a million bucks, I will make a necklace of these to prove how rich I am.

  • girlinmotio / about 10 years ago / 4

    Is that really the right price for a compass module?

    • bfesser / about 10 years ago / 2

      It's a Honeywell IC.

      • Is that really the right price for a Honeywell IC? =)

        • M-Short / about 10 years ago / 2

          Yes it is. If you need a cheaper magnetometer we have those as well, but quite a few people like these (and yes they are over $80 for the IC at Digikey)

  • Member #222 / about 10 years ago / 2

    For those of you who are willing to invest your time in a rigorous calibration effort, here is a 20$ alternative, using a Pro Mini 3.3V.

  • kabram / about 10 years ago / 2

    How does the sensitivity of this compare with the magnetometer on the iPhone?

  • ShaneV / about 10 years ago / 2

    How does this differ from (retired) SEN-08656?

  • Member #182240 / about 9 years ago / 1

    Hi, From what I see on the chip datasheet one can also get acceleration data. In the library there is no mention of this and also not in the description of the product? Is there a reason e.g. that data is not accurate or otherwise useless why its not used e.g.. why is there no lib function e.g. read_accel... thanks sigi

  • Hi Where can I read how the calibration works ? Thank you

  • Member #545222 / about 10 years ago / 1

    I'll make the ic itself how hard could it be any way. Theres a bazillion out there. That would be a great diy kit! Just kidding;( 150.00 that must be a record. Whats that persons name guiness.

  • airspoon / about 10 years ago / 1

    If these sell out quickly, I'm sorry to have to tell you Sparkfun, but I'm going to whip up a batch of 50 myself and sell them for about $60 cheaper and still make a huge profit, -and still probably won't be a blip on your radar (so don't squash me!). This is an insanely high profit margin (that I believe you have every right to set) and I'm now thinking I got into the wrong career field -M.D. (just kidding on the M.D. part, I'm just a computer science student). In fact, this reminds me of the open-hardware cooperative some colleagues of mine are in the planning stages of creating. With our connected world, iPhones, Android and laptops connected throughout the world, co-ops don't have to remain local. Buy in bulk together, to get the better prices (I have pictures in my head of the NYC commodity exchange floor with a bunch of colored shirts running around with tickets to buy or sell -looking like a mad-house, though that's just my over-imaginative mind), With enough people, this approach could work. These boards would then cost in the under $70 dollar range, less than half the price and better yet, any profit goes back into the coop for the next batch of parts/boards. Until a dream like that is set up though, I may have to stick to the Jungle store if these sell out fast enough. You can think of the co-op, as an open-source community model...

  • Yeah... this IC is not cheap, from digikey is 88.66 if you get one unit, of course SF does not buy one, buying 50 would cost 67.53 for the IC only. With the breakout board if i order from would cost me 4 bucks for 3. I love SF, and I always buy stuff here (i'm not kidding, I spent almost 1.3K here with my purchases combined) , but sometimes is a shame these values.

    • M-Short / about 10 years ago / 10

      The thing is its almost always cheaper to build your own. Assuming you don't count the cost of your time in designing/routing the PCB and prototyping, the cost and skill of soldering the ICs and components on, the testing procedure, and lets not forget that bad IC/mis-soldered IC/bricked IC that costs you $80. Sparkfun though has to count those costs, this is where most of the markup actually comes from. We try to make the final cost worth it to avoid all those costs and pitfalls, usually we succeed, but where that line is also varies from person to person.

      • That is why I'm and I'll continue to be a SF costumer, i know you guys sell stuff with quality tested and everything. Every Friday i'm here to see new products, reading posts. Buying things.... The thing is If i want one board to test something or play around I'll just buy it ready, but If i need more than that I do it myself. And come on, this board (specifically) is fairly simple to design/ route. This board has almost 90% of margin. I doubt that in one board with this amount of complexity you lose one board every 3 produced. And that you guys needed more than 2 prototypes to design it. I think SF uses the same margin for every product, and i don't think that is reasonable, but that is my opinion. Butttt, I'l continue to be here, buying stuff when i need, seeing the awesome projects that you guys do, looking schematics that helped me before when i wanna do my own boards. :)

        • agreed... though some of their products are costly.... i have yet to be let down by anything SFE branded

          unlike eBay

    • It seems to me that when browsing for parts on DigiKey, there's always a couple of them that are insanely expensive. '$6.75, $8.00, $7.50, $10.00, $5.25, $218.00, $179.99, $250.00' It gets me every time.

Customer Reviews

3.5 out of 5

Based on 4 ratings:

Currently viewing all customer reviews.

Nice setup

Being able to get this chip on a breakout board has been extremely helpful for my prototyping effort. The example code was helpful, but I made my own set of functions since I'm using a PIC and I2C commands are different. I did also find the PIC I2C to HMC interface requires about 5K of pull-up to provide clean waveforms, as with 10K pull-ups they were heavily rounded off (although still worked). So I just put another set of 10K's in parallel with the ones on the breakout board and it cleaned right up. It's probably a PIC thing. Overall, I'm very pleased with the breakout board. The chip functionality is nice, also, and certainly offloads some of the processing software I would otherwise need on the micro if I went with one of the less expensive heading ICs (for my application).


Hooked it up and got nothing. I can read the EEPROMS for I2C address, OP Mode 1 & 2, etc. so I know the I2C is working. But when I request a reading using 0x50 I get nada. It says I'm in run mode. I noticed there are two different data sheets for the HMC6343. One is dated 2014 and the other is dated 2008. The difference between the two is that there are two grounds on one (2008) and one ground on the other(2014) as well as one having a cs and cs ctrl connection (2008) and the other one not having this connection (2014). This breakout board is based on the 2008 data sheet and I can't help but wonder if it should be based on the 2014 data sheet. In any event, the breakout board doesn't work and I'm out $150. I would caution anyone who is contemplating purchasing this breakout board.

Hmmm, this sounds like a job for our tech support team. I would recommend getting in touch with them, they should be able tohelp resolve this situation for you.

Why not qwiic?

So... why not qwiic? Great stuff otherwise, but one wonders...