launching a model

Launch mode !

Flight modes in Ethos

The power of flight modes

Flight modes are a cool feature of high end operating systems like Ethos. At their simplest, flight modes allow you to switch quickly between different trim settings. However they offer many other benefits.

In this article, I explain how to set up flight modes in Ethos, and how to take advantage of their power.

Sailplane example

Let's suppose that you're flying a sailplane, and you find a thermal. To take advantage, you might want to:

If you made the adjustments manually, the thermal would be gone before you finished! But by setting up a 'thermal' flight mode, you could accomplish all three operations at the flick of a switch.

The same applies for other phases of flight like cruise, landing and so on. By setting up a flight mode for each phase, you can quickly alter the behaviour of the model.

Flight modes overview

Every model in Ethos has one or more flight modes. These comprise:

Ethos maintains a simple rule:

The flight mode which is active is called the active flight mode. When a flight mode is active, all its dependent settings (like trims, mixers, special functions etc.) are also active. Those of any other flight modes are inactive. We'll see later how how Ethos determines the active flight mode.

Managing flight modes

Flight modes are listed in the Flight modes menu. The default flight mode is shown at the top, followed by any user-defined flight modes. Each flight mode has a name, and an Active condition. From this screen you can add, delete and modify flight modes.

Flight mode list

Flight modes menu.

The Default flight mode

The default mode is always present. It's shown at the top of Flight modes screen, with a blank Active condition.

If you don't create any flight modes, then the default flight mode is permanently active - without you knowing, or needing to know.

Flight mode list

The default flight mode.

The initial name is 'Default Flight Mode' but you can change it to something more meaningful.

User-created flight modes

To realise the power of flight modes, you must define your own!

To create a flight mode, click the '+' at the top right of the Flight modes menu. This opens the flight mode editor. The key parameters are name and condition:

Flight mode editor

Flight mode editor

Flight mode priorities

Every flight mode has a priority. Ethos uses priorities to resolve conflicts, when more than one flight mode has its Active condition satisfied.

The priority of a flight mode is related to its position in the list - the higher up the list, the higher the priority. The exception is the default flight mode - although it is shown at the top of the list, it has lowest priority.

Flight mode editor


The active flight mode

Ethos uses a simple rule to select the active flight mode:

Example: a scheme for F5J

Here's the process for developing a flight mode scheme for an F5J model (sailplane with electric power and crow brakes).

Identify the primary phases of flight

The first step is to list all the phases of the flight which should have their own trims, rates or mixers. The phases should cover the entire flight with no gaps, remembering that only one flight mode can be active at any one time. For an F5J model, the the flight phases might be Normal, Landing and Power.

Convert the phases to flight modes

Next, identify alternatives for particular phases. On an F5J model, the Normal phase might be replaced by a trio of Thermal, Cruise or Speed phases. So the final set of flight modes would be (Thermal/Cruise/Speed), Landing, Power.

Assign switches

Avoid physicial switches where possible. So in our example, Power mode can be activated automatically when the motor runs (more on that later). Same applies to the Landing mode- it can be automatically activated when the crow stick is pulled. That leaves Thermal, Cruise or Speed. These can be conveniently assigned to a 3-position switch.

Assign priorities

Power should always be high priority, as this ensures that the motor behaves in a predictable fashion (that is, it cannot be blocked by another higher priority mode). Landing will be next priority, followed by the Thermal/Cruise/Speed trio. The last three are selected by a 3-position switch so are already mutually exclusive - this means that priorities relative to one another are not significant.

In general, flight modes should be broad in scope rather than being tied to specific mixers. An example of a poor choice of flight mode would be 'Crow brakes' as it refers to a mixer. A better solution is a Landing mode, with crow brakes as one or many options activated within it.

Implementing an F5J scheme

Continuing with our F5J example, here's how it might look in the Flight modes menu:

Flight mode list

Flight mode list for F5J model. Active conditions are a mixture of logical and physical switches.

There are four user-defined flight modes, each associated with a physical or logical switch. Let's look at these in descending order of priority.

Now let's examine how Ethos chooses the active flight mode. Suppose that THROTTLE UP is false, and CROW STICK DOWN is true. Starting with the highest priority flight mode, Ethos proceeds down the list, looking for a match:

Suppose that THROTTLE UP also becomes True. Then Power mode would become the active flight mode, overriding all others.

If neither THROTTLE UP nor CROW STICK DOWN' is true, then the flight will depend on the position of SA.

The active flight mode is highlighted, and also displayed in the home screen.

Flight modes and trims

So far, we've seen how flight modes are managed. In the following sections we'll learn how to put them to use. We'll start with trim behavioiur.

Trims can operate in two ways with respect to flight modes:

The behaviour is defined in the Trims menu.

Trims menu

Trims menu

Enabling/disabling mixers

Mixers are active in all flight modes by default. However sometimes a mix should be active in some flight modes only. With an F3F slope racer, for example, snapflap might be enabled in Normal and Speed modes, but disabled in Thermal and Landing modes.

To restrict a mixer to just a subset of flight modes, open the mixer menu and edit the Flight Modes field, ticking the flight modes in which the mix should be active. The flight modes are shown by their priority ('D' for default, '1', '2', '3' etc.).

Mixer active in FM3

Mixers menu showing mixer active in FM3

To trigger special functions

Flight modes can be used in special functions, as the trigger condition. One common application is for a flight mode to announce itself using a Play Track action:

Special functions for flight mode announcements

Special functions for flight mode announcements

In logical switches

Flight modes can also be used as conditions in logical switches. For example, you might want behaviour to change within a flight mode, depending on a switch. In the code below, LSW10 is true if flight mode 1 is active and SA is down

Logical switches with FM as condition

Logical switch with FM1 as one of the operands

To set rates

Flight modes can be linked to rates.

The screenshot below shows the Ailerons mix. If FM1 is active, the rate is 50%. For FM2, the rates is 75%. For all other flight modes, the rate is the default 90%.

For safety, the default value should always provide sufficient control of the model - never set it to zero!

FM dependent rates

Ailerons mix menu, showing FM-dependent rates

Programming flight mode switches

In this section, we'll look at the most common way of activating flight modes, namely using a switch.

Two or three flight modes

For selecting up to three flight modes, a single 2- or 3-position switch is sufficient. Here's an example switch scheme for three flight modes:

And here's how it might be implemented in the Flight modes menu. Note that only two extra flight modes are required, since the third position will naturally fall back to the default ('D') flight mode.


1:speed condition=SA-up

2:cruise condition=SA-mid

Four or more flight modes

If there are four or more flight modes, two or more switches will be required. Below is a typical scheme for four flight modes. From the user's point of view, it works like this:

And this is how it might be implemented in the Flight modes menu:


1:speed condition=SA-up

2:cruise condition=SA-mid

4:thermal_2 condition=SF-down

Let's check that it works. Imagine that SA is down and SF is up. Ethos starts from the Speed flight mode (the highest priority mode). The condition evaluates to False (since SA is not up). So Ethos steps to the Cruise line. Its condition is also False. Next, Ethos tries Thermal_2, which is also False.

Having exhausted the list, Ethos falls back to the default flight mode, Thermal_1, as intended.

Note that no logical switches are needed, even though the condition for thermal_1 is logically 'SA-down and SF-up'. This is one of the benefits of built-in priorities.


Sometimes it's useful for a flight mode to be activated without user intervention. An example is an electric model with a 'Power' flight mode. Instead of requiring a switch, Power mode should be activated automatically when the motor is running.

To determine if the motor is running, we define a logical switch to check if the motor output is above the 'idle' value (−100%). Next, we specify the logical switch as the condition of the Power flight mode:

LSW1 CH7 > -100%

FM1:Power ActiveCondition=LSW1

(Digression: for safety, there should also be an arming switch which is independent of flight mode. The state of the arming switch will determine whether the motor can actually run.)

Similarly, a Landing mode might be activated by pulling on the throttle stick. When the stick is at the top, it carries a value of 100%, so we can use the following code to activate Landing mode:

LSW1 Thr < +100%

FM1:Landing ActiveCondition=LSW1

Landing mode would typically activate a Butterfly mix.

Wrapping up

Flight modes are a powerful feature in any RC system, and particularly so in Ethos thanks to the multiple contexts in which they can be employed.