Best way to manually correct Accelerometer scaling/offsets?

Basically the symptom I have with my quadcopters is that even after accelerometer configuration, when I take off with the quad, it still wants to drift in a particular direction and I have to trim it out a fair bit to get it be manageable in flight.

This is using a legit APM 2.5 with the quad in stabilise mode.

I have my APM mounted on a 3d printed anti-vibe board, which may not be properly aligned with frame, level unit, ( … n_Platform) this being due to the low quality 3d print.

So what I want to know, is how I can go about manually adjusting… … _ACCSCAL_X
Accelerometer Scale values

Accelerometer Offset values

…and what behaviour I should expect after adjusting each value. As in if I adjust the value to be more positive for the X scale, how can I expect the behaviour to change?

Would be handy to have that info in the actual wiki page.

I would prefer to fix the accel values rather than muck around with trim, as I’ve never had luck on quads in the past with maintaining a good trim setting.

Have you attempted to calibrate the accelerometers in the CLI setup?

Not yet, may have a play with that.

Still it would be good to know the expected behaviour from changing the values manually

I recommend that you do the following:

  1. Recalibrate your radio or reset your trims so that ardupilot thinks your stick is centered when it is. Otherwise certain functionality might not work properly.
  2. Calibrate your accelerometers
  3. Use auto trim to level your copter:

While those are good ideas, I’m still after the what will happen as I adjust the other values.

Say I did accel caliubration and radio calibration just fine, but I did not notice my room was not level, thus it would be handier to be able to adjust the accel calibration manually to correct it, rather than going through the whole process again.

Accel calibration I find a bit of a pain also due to the need to get the quad up on its side and such, whereby that’s not always doable due to fragile arms and the un square nature of the frame. Eg, my raptor 500 frame (discovery clone) which is a standard sort of spider frame, its not easy to get it sitting sideways right

Leveling is done by ahrs_trim. Those accel offsets and scaling gains should never be touched. The accel calibration routine does not require that the copter be perfectly level, it only requires 6 samples in different attitudes, and it does not require that the flight controller be in the copter. The flight controller should be as close to perfectly still as possible. It also does set ahrs_trim to the roll and pitch of the first sample. Use the auto-trim to override that.