Skip to content

Digital compass acting as B&G Precision 9 based on ESP32 and CMPS14

Notifications You must be signed in to change notification settings

htool/ESP32_Precision-9_compass_CMPS14

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

ESP32_Precision-9_compass_CMPS14

Digital compass acting as B&G Precision 9 based on ESP32 and CMPS14

ESP32 board

To have easy access to N2k this board is recommended.

Goal

  • A highly accurate compass which also reports roll, pitch, rate of turn and possibly heave.
  • Be able to use standard config screen in the B&G Zeus/Vulcan/Triton(2) to configure offsets and do calibration.

CMPS14

After trying the MPU9250 first, Iwasn't happy with the noise level. The CMPS14 seems more stable and makes the code way easier.

Status

What's working

  • Recognised as B&G Precision-9.
  • Heading send out as Vessel Heading PGN 127250 as Magnetic at 10Hz.
  • Magnetic variation PGN is picked up and then Vessel Heading PGN 127250 is send out as True as well.
  • Heel and Trim are send out as Attitude PGN 127257 at 20Hz.
  • Rate of turn is send out as PGN 127251 at 10Hz.
  • MFD configuration of heading, trim and heel offset.
  • Offsets are stored in EEPROM when set.

What's half working

  • Deviation calibration routine. The stop/finsihed signal works, but processing the outcome is still missing. This routine process should build a boat specific deviation table.
  • Auto calibration mode is recognised, but not used yet.

What's not working

  • Actual creation of the deviation table, which from what I understand can be done using Fourier transformation on the data from the 390 deg circle.
  • Heave isn't measured yet and thus not sent. Also here I think Fourier transformation on Z accellaration data can be used to calculate amplitude.

About

Digital compass acting as B&G Precision 9 based on ESP32 and CMPS14

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages