ICM20948 help needed

Good morning,

I have an ICM20948 that I want to use to make a "compass-level" for positioning my telescope.

I use the library: GitHub - sparkfun/SparkFun_ICM-20948_ArduinoLibrary: Arduino support for ICM_20948 w/ portable C backbone
I have attached a 128x64px OLed display and an ESP8266 (WROOM-02D) drives it all.

I'm looking for the maximum precision, so, I activated the DMP mode, and I use the data coming out of it.
I read that the DMP mode allows "auto calibration", but how can I be sure?

So, I have a working leveler, but I can't get a constant direction/heading from one reboot to another.

I don't understand...
Any ideas ?
I'm a beginner, a helping hand to guide me would be welcome.
THANKS.

My project :
ESP8266_Compass_Leveler.zip (3,5 Mo)

You can't. The documentation for the DMP is abysmal.

Whatever the DMP does for calibration, you can do better. For the magnetometer and accelerometer, the procedure described in this comprehensive tutorial is state of the art.

You can find both AHRS code and tilt-compensated compass code for the ICM-20948 here: GitHub - jremington/ICM_20948-AHRS: Mahony Fusion Filter and Tilt compensated compass for ICM_20948

1 Like

Hi, thanks for you return.

A bit about me : I'm 41, was Acoustician during the last 15 years and re-orienting me since 6 month to software development, I'm back to school !
For now, a "full stack" school year to learn the basics.

This is my first projet "alone", I need and want to learn with it.

The goal :

Any motorized telescope mount need a "Home position" to "know" where it is.
My AltAzim mount need to be placed Horizontally and pointing South (as I can't reach the North from my Balcony where my Telescope spend 50% of it time).

I firstly buy a Bluetooth module (WitMotion WT9011DCL Bluetooth 5.0 Accelerometer Gyroscope Angle Sensor).

But can't get a correct heading, the module "north" depend of the module startup position...

So, I buy a ICM20948 module as it seem to be "easier" for me to reach my goal with it, 'cause as a beginner, it will be difficult to add the bluetooth communication stage to my project with the first module.

Question : based on the ICM20948, a WROOM-02D and a Oled screen to display the Angle and Heading, do you think I'm in the right direction ?

I know that there is a lot of aluminium near the sensor, but I'll do my best there.

This is how I see it from my current understanding/needs:
-Power-Up the setup
-Rotating it during X sec (as near as possible from the fixing position) to calibrate it.
-Fix it and read the Angle and the Heading (from geographic North).

Thanks !

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.