CAL Mode - a flight mode for calibrating servos

Mike Shellim 4 Dec 2013
Updated 22 August 2017

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, in other words setting the centres and limits.

When Calibration Mode is active, all mixers and trims are disabled, allowing absolute end points and centres to be visualised directly. In addition, paired surfaces move together, making it easy to equalise their travel.

heading image


How it works

CAL mode is implemented via a 'REPLACE' mix at the end of each servo channel. Here's an example using the elevator stick to send a calibration command to channel 1:


CH 01



Src=Ele wt=100 Multiplex=REPL Trim=NO Flightmode=FM1 Name=CAL

When the last (CAL) mix is active, all the mixes above it are ignored (because of the REPLace directive), so only the CAL mix contributes to the channel output. The source of the mix is the elevator stick, and since the weight is 100%, its value is passed through to the Outputs layer. There it's scaled according to the values of Min/Max/Subtrim.

This results in the following behaviour:

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)