This article shows how to perform basic accelerometer calibration (using Mission Planner). The accelerometers in the autopilot must be calibrated to correct for their bias offsets in all three axes, as well as any off-axis variations.
Accelerometer calibration is mandatory in ArduPilot.
Accelerometer calibration cannot be performed while the vehicle is armed.
If the board is mounted in a non-standard orientation (i.e. arrow is not pointing forward) then please ensure the AHRS_ORIENTATION is properly set before doing the accelerometer calibration.
Under Setup | Mandatory Hardware, select Accel Calibration from the left-side menu.
Click Calibrate Accel to start the full 3-axis calibration.
Mission Planner will prompt you to place the vehicle on each axis during the calibration. Press any key to indicate that the autopilot is in position and then proceed to the next orientation.
The calibration positions are: level, right side, left side, nose down, nose up, and on its back.
The vehicle must be kept still immediately after pressing the key for each step. This is more important than getting the angle exactly right, ie. left being 90deg to horizontal, etc. Except for the first “LEVEL”, the positions can be within 20 degrees of being exact. Being still in each position as you press the key is much more important.
You should calibrate the board mounted in the vehicle if possible.
However, you may need to calibrate the board before it is mounted if the size/shape of the vehicle makes this difficult.
The level position is the most important to get right as this will be the attitude that your controller considers level while flying.
You can recalibrate this Level position using Mission Planner after you have installed the flight controller and are ready to fly. Place the vehicle in its level flying attitude and use the Calibrate Level button.
this Calibrate Level operation can only correct up to a 10 degree difference between the initial calibration and the final position in the vehicle, and only corrects pitch and roll differences, not yaw.
For planes, the “level” angle for pitch is important for steady altitude flight. See Tuning Cruise Configuration for more details.
The STAB_PITCH_DOWN parameter will add “nose-down” trim when the throttle stick is lowered in pilot throttle controlled and stabilized modes, such as FBWA, to prevent the autopilot from holding the nose up as the plane slows down and potentially causing a stall. This can be tested, at altitude, in FBWA mode by moving the throttle to idle and checking that there is sufficient airspeed in a turn to avoid stalling. Be prepared to recover from a stall! Increase the value of STAB_PITCH_DOWN, if necessary.
For small planes or gliders, STAB_PITCH_DOWN often needs to be set more than the default value of 2 degrees.
Proceed through the required positions, using the Click when Done button once each position is reached and held still.
When you have completed the calibration process, Mission Planner will display “Calibration Successful!” as shown below.
If your autopilot has a built-in IMU heater, then it is recommended that the IMU Temperature Calibration also be done. Some autopilots have this calibration done at the factory in which case, this calibration need not be done.
Sometimes, for very large vehicles, it’s not easy to do the full 3-axis calibration. In this case, the Simple Accel Cal can be done with the vehicle held still and in a level attitude. This only calibrates the main offsets of the accelerometers, not the minor off-axis variations, so it’s not ideal in terms of optimal performance, but is sometimes an acceptable compromise.
This is NOT the same as the Calibrate Level function. To use that function, either a full 3-axis or simple calibration must be done first!
Video demonstration (Copter)¶
Video demonstration of accelerometer calibration. This is for an older version of Copter/Mission Planner, but is useful as an example of how you might hold a Copter.