CAL Mode - a flight mode for calibrating servos

Mike Shellim 4 Dec 2013
Updated 9 Nov 2019

Introduction to CAL Mode

In this article, I'm going to explain how to add a special mode to your setup, for calibrating your servos. It can be added to any setup without affecting existing functionality.

heading image

What it does

In CAL mode, normal operation is suspended. In particular, all mixers and trims are bypassed. As you move the sticks, the mixer outputs vary between -100 and +100. These are the minimum and maximum possible and will therefore drive the servo between its limits.

The corresponding servo positions can set in the OUTPUTS menu, by adjusting Min and Max. The servo end points so adjusted will be absolute servo limits - rather like mechanical limits except that they're implemented electronically. Similarly, stick centre corresponds to the servo centre position, which can be calibrated by adjusting Subtrim.

You have a lot of flexibility as to how you implement your CAL mode. For example, you can arrange for ailerons to move together in CAL mode, so you can match their movement precisely.

Adding a CAL mode to your setup

To implement CAL mode, we must arrange for the sticks to generate values of -100, 0 and +100, and for those values to be sent directly to the output channels. A simple way is to create a mix with weight = 100% and setting the multiplex parameter to REPLACE. This mix must be the last in the channel. When active, the mix will over-ride all the mixers before it.

Here's an example:


CH 01

[mix 1] ...

[mix 2] ...

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

In this example:

When CAL is active, the channel value will vary between -100 and +100 (the maximum possible range) according to the position of the elevator stick. The servo limits and centre can be adjusted as follows:


More about the CAL mix

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

Step 1

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)