How to Increase ICM20602 IMU Sample Rate on Navigator

Hello everyone,

I am working on a project that utilizes a SLAM algorithm with our BlueROV2, which is equipped with a Navigator flight controller.

For our SLAM implementation to perform accurately, we require both the gyroscope and accelerometer data streams to have a consistent output rate of over 200Hz.

Our current setup uses the primary, on-board ICM20602 IMU. After reviewing the ICM20602 datasheet, I’ve noted that the sensor’s data output rate is primarily controlled by the SMPLRT_DIV register.

My question is: Which ArduPilot parameter is responsible for configuring the sample rate of the ICM20602 IMU?

I have searched through the full parameter list but have been unable to definitively identify the parameter that adjusts the backend sample rate for this specific IMU. Just to note, available bandwidth is not a concern for our application.

Any guidance on which parameter to modify would be greatly appreciated.

Thank you!

Hi @MIguel -
Welcome to the forums!
You should be able to have the gyro, and indeed all the motion sensors and the EKF output at that 200Hz no problem! The parameter you’re after is loop_rate - I believe this is already set to 200Hz by default on ArduSub!
You should be able to poll this data with pymavlink, or perhaps more easily with Mavlink2Rest!