Flightmode Settings

AJ Christensen edited this page Nov 23, 2015 · 22 revisions
Clone this wiki locally

On the input configuration page:

Input configuration

You can select which behavior the different flight mode switches trigger, and use this to change modes while flying.

Flight Modes


This means the fairly typical thing for what Acro mode is called. The roll and pitch axes are assigned to rate mode (see below for details and tuning) and the yaw axis is assigned to Axis Lock (slightly better tracking than rate).

AcroPlus (Acro+)

AcroPlus on both Roll and Pitch with Rate on Yaw. See below for details on AcroPlus.


This is a self leveling mode. The roll and pitch axes are set to Atittude (see below for details and tuning) and the yaw axis is assigned to Axis Lock.


This is an advanced variant of rate that has a lot more flexibility to change the feel. The roll and pitch axis are both set to Virtual Bar (see below for details and tuning) and the yaw axis is assigned to Axis Lock.


These modes are for customizing what each axis does. So, for example, Stabilized1 in the photo above will use Attitude for Roll and Pitch and AxisLock for Yaw. To understand what these individual axis selections do, please read below.

Altitude Hold

In this mode, by default you will be flying in a vario mode. That means that if your throttle is high the aircraft will climb and if it is low it will descend. There is a deadband around mid throttle where it will hold the current altitude and an exponential component to the range to make it less sensitive in the middle.

See examples of this mode https://vimeo.com/88439963 and https://vimeo.com/88549064

To use this, make sure you enable the AltitudeHold module and reboot, or you will have a configuration error. Also with the current code you cannot arm in this mode so if you are disarmed and in AltitudeHold mode you will have an error.

Altitude Hold Settings

  • AltitudeHoldSettings.TiltCompensation: In Altitude Hold mode there is compensation for the bank angle to allow the MR to hold altitude as it flies forward. This can be disabled by setting AltitudeHoldSettings.TiltCompensation to 0. TiltCompensation can also be adjusted if you find it drops as you start flying forward, by setting it to greater than 100%. Often values like 200% are needed.

  • AltitudeHoldSettings.MaxRate: To change the stick sensitivity, change AltitudeHoldSettings.MaxRate. Set this to zero if you do not want to be able to climb or descend and just want it to hold altitude.

  • AltitudeHoldSettings.Expo: adjustable exponential on the throttle around 50%. Increase to make it less sensitive near the middle.

  • AltitudeHoldSettings.{PositionKp,VelocityKp,VelocityKi}: PID settings for the altitude controller. There is an outer loop (that is tuned by PositionKp) that requests a faster desired velocity (up to MaxRate) the further from the set point the FC is. There is a VelocityKp and VelocityKi for the inner loop that goes from velocity error to throttle position. When moving the stick (requesting a change in height) only VelocityKp and VelocityKi matter as the stick sets the desired velocity.

  • AltitudeHoldSettings.Deadband: (not in the current release) deadband near the center position where the board will just hold altitude

ReturnToHome. PositionHold and PathPlanner

Ask on the forums and make sure you fully understand how to attempt this before using these modes.

Individual axis modes


No stabilization on this axis. Inputs are directly passed to outputs.


TauLabs will aim for a target rate of turn around the axis. This target is defined by the manual control. When the manual control is neutral, TauLabs will try to maintain zero rotation. E.g. on a multirotor, in "rate mode", the angle of the elevation/aileron sticks determines the rate of change of the pitch and roll axis. If you let go and return to a neutral position, the airframe will keep going in that (possibly inverted) direction. It's up to the pilot to return the craft to level, so it behaves like a "real" aircraft.


Stabilization mode based on Rate inner loop featuring stick and multiplier based Gyro Suppression such as, but not limited to:

  • OpenPilot Rate with AcroPlus/PiroComp/CruiseControl etc.
  • CleanFlight MultiWii Rewrite
  • TauLabs MWRate / MultiWii Rate

The default Gyro Suppression is 40%, configured with the StabilizationSettings.AcroInsanityFactor UAVO or BrainFPV OSD Menu under Stick Scaling / Expo "Acro Insanity Factor". The name of the configuration UAVO was preserved to pay homage to the OpenPilot project's implementation.


TauLabs will aim for a target attitude. This target is defined by the manual control. When the manual control is neutral, TauLabs will steer towards level flight. This applies an offset (from TrimAnglesSettings) to the requested attitude. For details on how to trim this go here

E.g. on a multirotor, in "attitude mode", the angle of the elevation/aileron sticks directly determines the set point for the pitch and the roll axis of the multirotor. If you let go and return the stick to a neutral position the multirotor would level and drift to a halt in hover.


TauLabs will try to keep the total amount of rotation on the selected axis on 0 when the stick is not touched. When TauLabs detects 5 degrees of rotation, it will try and undo that. Axis lock essentially grabs the current position of the axis when you let go of the stick and tries to stay there.

This feels similar to rate mode but can provide a more locked in feeling.


Weak leveling is basically rate mode with a slow component to make the attitude go towards zero. In weak leveling your aircraft slowly drifts back to level - sort of rate mode with an assist. Note that it's not recommended for yaw because it basically will turn your nose facing forward again.


This mode is released in the upcoming firmware, for helis it can be compared to a standard flybarless controller and for multi rotors a much more aggressive roll and flip rate can be achieved. More information can be found here.


Horizon is based on MultiiWii Horizon mode. It smoothly transitions from attitude mode in the middle to rate mode on the stick extremes. It uses the tuning from the separate modes so once they are both well tuned it should work well. This is useful for FPV where you might want tight self leveling and control plus rate mode.


RateMW is based on MultiiWii Acro mode. This mode has is own PID settings. Please see Stabilization / MultiWiiRate


??? These modes are used by relay tuning for automatically tuning your airframe. Not recommended for normal use.


This is used for tracking a point-of-interest, usually provided by a tablet.


This mode is used for planes with a rudder and will apply rudder during turns to try and have zero side slip. This mode should only be used on planes yaw axis.