Magnetic Heading and more, in Signal K format #8
BjarneBitscrambler
started this conversation in
Show and tell
Replies: 1 comment
-
If you can achieve an accuracy of better than 2 degrees on some MEMS sensors, that's actually pretty dang awesome! So frustrating that the board is out of stock everywhere... Another victim of the global semiconductor shortage, I guess! 😞 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi! I want to share details about my solution for getting fast (> 10 Hz) magnetic heading readings to my radar/chartplotter. I've built an electronic Compass that also provides related orientation data (acceleration, pitch, roll, rate of turn, etc) to a Signal K server, which can then repeat that data on the NMEA 2000 bus.
The hardware uses an Adafruit breakout board with an FXOS8700 / FXAS21002 combination accelerometer, magnetometer, and gyroscope. It's hooked up to either an ESP8266 or ESP32 microprocessor board - I've used both LOLIN d1_mini and ESP32-WROVER boards for prototypes and testing. The d1_mini plus the Adafruit board provide an inexpensive eCompass for less than $25.
The processor runs NXP's v7 sensor fusion algorithm, which I ported to the Espressif ESP32/ESP8266, and it communicates the vessel's orientation data via WiFi to a Signal K server, using SensESP. One advantage of this fusion algorithm over some others is that magnetic calibration is performed and checked during run-time on the ESP processor itself - no external tools or software are required.
Testing so far shows that magnetic heading can be output on the NMEA 2000 bus at rates up to about 40 Hz. Deviation corrections for hard- and soft-iron and mounting offsets provide an accuracy better than +/- 2 degrees.
Anyone who's interested can find out more at the following:
If you end up building one yourself, I'd love to hear about it! Cheers,
Bjarne
Beta Was this translation helpful? Give feedback.
All reactions