Altitude hold accuracy

There are PIDs in the ai.cfg for the pitch, VS and flight level modes but is there any way to tune how aggressively the autopilot maintains altitude when altitude hold mode is engaged? We are currently finding that some of our aircraft, particularly when buffeted by strong winds and thermals, are deviating by 100-200ft from the selected altitude and are being slow to correct for that.

In case it makes any difference, we are using WASM and engage altitude hold mode by triggering ‘AP_ALT_HOLD_ON’ and then sync the selected altitude by triggering ‘AP_ALT_VAR_SET_ENGLISH’ with the value of ‘A:INDICATED ALTITUDE:1, Feet’.

You may be trying to achieve the RL impossible

I believe many of the MSFS plane’s AP PID were tuned (Tweaked/Fudged), back when there was no turbulence in the sim, and are wound up so tight, that now any turbulence blows them away.

(Forgive the Highly Technical terms !! but you get the point)

Unfortunately, unless you roll your own PID system, there does not seem to be a way to incorporated a Turbulence setting control, to alter their response, (as some APs can in RL) when flying in smooth or turbulent air, so it will be a compromise.


Do pilots have control during turbulence?

Light turbulence momentarily causes slight changes in altitude and/or attitude or a slight bumpiness. Occupants of the airplane may feel a slight strain against their seat belts. Moderate turbulence is similar to light turbulence but somewhat more intense. There is, however, no loss of control of the airplane.

Takedown request View complete answer on

How does autopilot deal with turbulence?

Most systems don’t have any way of sensing barometric pressure changes, and so you may have to reset the altitude manually when moving through rapidly changing pressures. Because the autopilot will try to maintain altitude in the mode, it’s good form to disengage the function in moderate or severe turbulence.

Your camera view also can make a big difference - I believe the calculation loop is done faster in cockpit view, meaning it makes adjustments faster. I see this in the stock 172 - in the cockpit it is possible to fly with AP even at x16, but in external view it will porpoise wildly (vertical and horizontal) even on x2. But I also have a less powerful PC than most, which probably exacerbates the issue.

Ahhh – That may explains why so many on the MSFS forum are reporting that the AP, “does not work” in External View mode
( although they often fail to describe what they mean by “does not work” )

This has been fixed in the new avionics systems in SU13 (was not an issue with stock sim AP).

Which avionics system is being used in this aircraft?

I just did some test this afternoon, in the C172SP (WB-Sim Version), and its AP behavior in Turbulence seemed about right to me.

Conditions. Fly over large hills, in stormy weather, with turbulence, with various MSFS Turbulence settings.

    • No Turbulence-- Holds altitude with good precision (max +/- 10 ft)
    • Mid Turbulence: AP had to work to maintain altitude (Max +/- 50 to +/- 100ft)
    • Full (Realistic =Turbulence) … To much for a simple KP140 tuned for good response in fair weather. (as expected). With AP off, and a lot of work, was possible to fly the plane and hold +/- 100ft (when having a good day) – better off ON THE GROUND !!
      Who wants to fly a C172 in those conditions. :face_vomiting:

Disclaimer. Using PMS50 GNS530 and Wb-Sim KAP140, So Not in WT modes, so expect a some “Comments” – but it shows a realistic simulation is possible, with appropriately Tuned AP PIDS.

The AP PIDS could be tuned to give better responses in Turbulence, but at the expense of fair weather stability/accuracy.

Does the RL KAP140 even have full PID controllers, or is it just a P , or even “Bang-Bang” ?

Since the KAP140 AP does not have a Pilot controlled SMOOTH/TURBULENT switch , its up to how it is set up by the installer (ie MSFS Plane Dev)

This is on our 146 so it’s custom avionics but with some use of the stock AP, including altitude hold. Happy to supply a copy for testing if that will help (ping me on Discord).