CAL Mode - a flight mode for calibrating servos

Mike Shellim 4 Dec 2013
Updated 1 May 2018

Introduction to CAL Mode

CAL (calibration) Mode is a special flight mode which you can add to any model. It eases the process of calibrating your servos.

heading image

When Calibration Mode is active,

How CAL mode works

CAL mode is implemented as an extra mix appended to each servo channel. The job of the mix is to 'pass thru' the stick command to the channel output, without modification from other mixers, and ignoring the trim setting.

In the following example, the elevator stick is used to calibrate channel 1:


CH 01

[mix 1]

[mix 2]



[mix n] Src=Ele wt=100 Multiplex=REPL Trim=NO Flightmode=FM1 Name=CAL

When the last (CAL) mix is active:

Consequently, the stick command is passed directly to the Outputs layer. There, it's scaled according to the values of Min/Max/Subtrim. This results in the following behaviour:

By activating this mix, we can easily visualise the centre and absolute limits while adjustments to Min, Max and Subtrim.

Adding CAL to your model

This section explains how to implement CAL mode in more detail.

Step 1 - add mixes

For each servo channel, add a mixer-line to the end of the mixer list:

Source is the stick/pot/lever to drive the servo. You can choose any control - it need not be the same as the control used in flight. Make sure to specify the raw control for example Ele, Ail (do not select inputs like [I1]Ail as these include rates and expo).

It's a good idea to move related surfaces using a single control, so you can equalise their responses visually. For example, here's a typical scheme for a sailplane:

Step 2 - activate using a switch

The CAL lines may be activated directly via a switch, or indirectly via a dedicated flight mode. The flight mode method has the advantage that the flight mode is displayed on the screen, but requires that you use FM1 (the highest priority mode). If this is inconvenient (maybe you already have flight modes assigned), then the direct switch approach is fine.

Whichever method you choose, I strongly recommend using a virtual switch - the last thing you want is to accidentally activate calibration mode in flight!

Step 3. Set servo rotation and mixer weights

To make the calibration procedure as intuitive as possible, set the DIRECTION of each servo so that:

The easiest way is to try it and see: go into the servos menu; for each servo, adjust SUBTRIM back and forth, and see which way the control surface is moving. If you reverse the direction of a channel, remember that effect of any mix will be reversed. To correct this, reverse the sign of the wt parameter of all the mixers affecting that channel.

If you've set the direction of rotation as suggested above, then the weights in the CAL mixes should all be set to +100. This will ensure that all surfaces will move in a consistent direction during calibration - this is particularly useful for surfaces, like ailerons and flaps, which have been paired up for calibration.


Below is a screenshot from OpenTx Companion, showing two aileron channels and the extra CAL lines. The 'R' at the beginning denotes a REPL directive.

C9X screenshot


For OpenTx 2.0, 2.1, 2.2

SF-down to activate CAL mode

Stick calibration

For correct operation of your radio, remember that your sticks must also be properly calibrated as well! This is achieved via the OpenTx hardware calibration menu (Long press Menu -> Page x 8)