Based on my research
from last night, it seems that modern electronic compasses are all based on these small 9 degrees of freedom MEMS chips. The best known is the Intersense MPU-9250 ($9 from Amazon) but there are others such as the BNO055 and the LSM9DS1. The idea here is that you take the sensor and use a Raspberry to fuse, average and calibrate the data, then format it in NMEA 0183
to feed into the chartplotter
. The weak point of these chips is that the magnetometer is relatively noisy but the rate of change is amazing. All told, a well configured system should be in the +/- 2 deg of accuracy which is better than a typical fluxgate
and the refresh rate can be very high, up to 200 Hz (clearly a lower rate should be used to feed most chartplotters). In terms of usability such a system is problematic. For example, you need to enter commands on the Raspberry to calibrate and align the sensor. Thus my pecking order to answer the original question, best to worst:
1. KVH Azimuth 1000 ($600) - replaces the binnacle compass, 0.5 deg accuracy, 10 Hz, calibrates automatically as you go, easy to use and setup.
2. All vendor compasses, incl. Raymarine
EV-1, H2183 based systems from Garmin
, etc. (~$600 retail), around 1-2 deg accuracy - less accurate than the KVH but still very good, some calibrate automatically, others require the vendor chartplotter
. Note the H2183 is an 8-axis device.
3. Home made system based on the Intersense MPU-9250 ($50 total) - requires programming, difficult to calibrate but should be ideal for MARPA. Really makes more sense if one wants to play with OpenPlotter and fuse many sensors on the Raspberry. Easy to modify and upgrade, eventually someone will write an autocalibration code similar to the KVH approach. It needs to have the Raspberry powered all the time.
4. Vendor systems based on a fluxgate
with 1-dimensional gyro compensation. A prime example will be the Raymarine
Smart Heading Sensor. Old by today's standards.
5. Plain old fluxgate compass - what most autopilots use today.
In addition, I found a couple of real inertial navigational units (although you can use the MPU-9250 chip above to calculate the position based on the accelerometer output, it is not accurate enough for a small boat). These are pricey but I believe the best option for a recreational sailor today:
A. KVH DSP-17xx is an IMU with fibre optic gyros, excellent for MARPA (~$4,000)
B. Intersense NavChip (~$4000) MEMS based but when coupled with a magnetometer and a Raspberry can provide properly stabilized output.