Last week, during my fun solo sail from Finland to Åland and back, I had some issues with engaging the autopilot. Regular commentator and Hanse 385 owner Stuart chimed in (thank you!), and suggested I should check the calibration. So I did!

Where Are We Heading?

First some (boring?) theory.

The boat’s heading is where it’s pointing to, and you use a compass to determine it.

That sounds simple enough? Well, there are a few rocks on the path.

Firstly, compasses can be greatly affected by local magnetic fields. These are magnetic disturbances created by, for instance, magnetic metals aboard the boat. If I put my mobile phone close to our SILVA analog compass, its heading changes about ten degrees to the north. Magic!

Secondly, the movements of the boat itself will affect the compass (imagine going up and down the waves, heeling from one side to the other). The best compasses, however, include acceleration and attitude sensors, as well as a group of miniature mathematicians inside, to sort out all these movement induced errors.

Finally, earth’s magnetic field isn’t nicely and evenly distributed all over the globe. The magnetic north isn’t even where the actual north pole is. This mishmash between magnetic reality and chart/globe reality is called magnetic variation. In other words, there is an offset between what the compass thinks is north, and where the north pole really is, on maps, and our lovely planet Earth.

Also, to further complicate our lives, it doesn’t stay put. The magnetic north pole is constantly moving, and nobody knows precisely when and where. (See an interesting Forbes article here.)

Wonky magnetic fields over Norway, Sweden, and Finland in 2012. A year later, scientists agreed there’s no sense in it, and went home.

Before I did the calibration, all compasses on our boat showed different values both when stationary and when moving. Additionally, while moving, none of the compasses agreed with the GPS.

So, how to correct all these errors?

Drive Around in Circles

Modern compasses are auto-calibrating. This means that your job is to drive the boat around in circles, and the small mathematicians inside the compass do the rest.

Our Hanse 388 came with three fixed compasses. One analog (SILVA 125B/H, see pics above) and two electrical (B&G ZG100 and B&G Precision-9 pics below), that both need calibration to function properly.

The ZG100 is mounted in the aft locker compartment, on the port side. Its main responsibility is to provide GPS data. The magnetic fluxgate compass included is less accurate than the B&G Precision-9. Anyway, it would be nice if they’d show roughly the same numbers!
It took me quite a while to just find the darned thing! But, voila, in the portside aft cabin, inside the closet, and under a fake step – I found the Precision-9 compass!

To correct for deviation, the first of the three errors, I did the basic calibration procedure for both electronic compasses. I went out with the boat, initiated the calibration (from the Zeus plotter), drove around in slow circles for a while, and then it was done. “Calibration OK”.

With the throttle in ‘idle forward’ it was quite easy to get the desired 2-3 deg/s turn rate. This is the picture before I started the turn.

After the calibration run, the instruction manual suggested checking the amount of local interference. The Precision-9 can actually sense how much interference there is. More than 100% of interference, said the manual, and the calibration will fail. More than 30% and you might still have a problem.

65%! Oh my. (Sorry about the picture, it had started to rain.)

Gosh! 65%! That was certainly more than 30%. I checked and double-checked the closet where the Precision-9 was installed. I removed everything and anything to see whether it would have any effect. No such luck.

It was less than 100%, though, so within the given limits. Maybe nothing to worry about, then? Not so sure.

Magnetic Heading Check

After the first calibration round, I hoped that all my three compasses (and one further handheld one) would show roughly the same magnetic value. I didn’t make a manual deviation table for the analog compass, so they probably wouldn’t be spot on, but I was hoping for ‘close enough’.

To make the testing environment a bit less dynamic, I returned to the harbor and secured the boat. Then I went through the compasses, one by one, and wrote down their magnetic headings.

The handheld (very simple and cheap) compass showed quite differing values depending on where I put it, proving the point that there were a lot of local magnetic fields in play. No deviation table for this one either.

Here are the results:

CompassMagnetic heading
SILVA 125B/H264
B&G ZG100259.1
B&G Precision-9266.9

The Precision-9 was close to the analog SILVA (hooray!), but the ZG100 was five degrees from the SILVA and almost seven degrees from the Precision-9. (If you start from Portugal and cross the Atlantic, that’s the difference between ending up in the Bahamas or the Dominican Republic!)

I tried my best to figure out why the ZG100 was so much off, but in the end, I gave up.

Maybe it was the result of local interference, or maybe it was something else. It did, however, highlight the fact that all compasses aren’t created equal, and it really matters that you have your NMEA sources selected to use the best instruments available.

Magnetically speaking, the best two instruments aboard were just 2.9 degrees from each other. That’s like heading for Guadeloupe but ending up in St. Lucia, not too bad!

True Heading Check

Magnetic is good, but if you want to navigate using charts (yes, it’s a good idea!), where north is north, not magnetic north, then you have to convert your magnetic headings to true headings. Else, you will be going to surprising places.

So, how do you know what to add (or subtract) to the magnetic value to get a true heading?

On a standard navigational chart, you look for the compass rose and the variation info written inside of it.

A chart close to Turku.

So, in 2015 the difference between true and magnetic was 6 degrees 15 minutes (6.25 degrees in decimal format), and after that, it was predicted to change 9 minutes (0.15 degrees) every year. Adding five years you get 6.25 + 5 * 0.15 = 7.0 degrees.

I added the 7 degrees variation correction to the Precision-9’s 266.9 degrees magnetic heading and ended up with 273.9 degrees. Happily, I walked up to the Zeus screen to confirm that it showed the same number.


No way 273.9 could be rounded up to 275, so there was still something strange going on.

World Magnetic Models

I dumped all the heading related data from the NMEA network and tried to understand what was happening. How did the Zeus end up with its variation correction that differed from my own?


The first thing I noticed was that there were actually two separate magnetic variation numbers being broadcasted on the network.

The ZG100 was telling everyone to use 8.0 degrees as the variation correction. Also, it said the source of this information was WMM2010. (“What’s that?” I wondered).

Both Triton instruments, as well as the Zeus, however, were broadcasting to use 8.3 degrees as the correction number, without mentioning any source. My original magnetic 266.9 + 8.3 = 275.2, so that was obviously how the Zeus calculated its true heading.

But why was it 8.3? And not 7, as my chart said, and not 8, as the ZG100 insisted?

Turns out, the answer was closely related to what they were talking about in the Forbes article, that I mentioned above.

NATO, the US department of defense, and others have for a long time been maintaining a model to predict changes in earth’s magnetic field. This model is called the World Magnetic Model. In fact, when the ZG100 mentioned WMM2010, it was talking about this very model published in 2010.

There’s no mention of this anywhere in the B&G manuals, but the Triton instruments might be running on WMM2015, the 2015 version of the model. In fact, there are some online calculators that kind of confirm this:

The variation prediction from ten years ago, for my location, today.
ZG100 says 8.0, so 7.98 from WMM2010 matches that.
WMM2015 gives 8.3, which matches what the Tritons are broadcasting.

The magnetic field changes have been more rapid than what scientists expected ten years ago, so that explains why the newer models have different numbers than the older ones.

The most recent WMM is from 2020, and according to that, I should currently add about 8.5 degrees to any magnetic heading for a true true.

Here’s an updated true heading table. It’s getting reasonably close!

CompassTrue heading
SILVA 125B/H + WMM2020273
B&G Precision-9 + WMM2015275.2
Zeus display275

Confused in my Head(ing)

After all of this, where did I end up?

Here are my conclusions:

  1. For good magnetic heading values, make sure the Precision-9 compass is selected as the primary heading source, and that it’s calibrated. Verify that the Precision-9 is showing about the same as the SILVA analog compass. (They did! ✅)
  2. Leave the variation setting on AUTO on the Tritons. Their variation might be a few decimals from the newest magnetic models, but that difference is meaningless in the real world. (Note that the chart variations might differ as well, but the Tritons are more accurate.)
  3. (Forget the ZG100 as far as heading is concerned. Sorry, ZG100!)

What I will pay attention to when out sailing:

  1. Make a deviation table for the analog SILVA as well (thank you, Kristian, for pointing this out!).
  2. Check whether the Precision-9 – SILVA (w/ deviation corrections) difference is more or less the same in all directions? Is it possible to perfect the calibration by adding a constant offset to its settings?
  3. Check the 65% local interference field for changes.
  4. Check whether the GPS Course over Ground will line up nicely with the true compass heading?

All in all, figuring out this heading stuff was really interesting! It was a bit more involved than I first thought, but I’m happy that I eventually got it mostly sorted out.

So, what will my next calibration task be? I’ve had some doubts about the apparent wind angles, so maybe I’ll have a go at that.

Calibration studio. I think it looks a bit empty 🙂