More about mixers

Mike Shellim 25 Nov 2021

More about mixers

In this section, we'll look at offset, expo, diff, functions and curves.

Mixer offsets

The Offset parameter is used to shift the mixer output up or down. Offset is applied after weight:

Mixer line value = (Source * weight) + Offset

Offsets are useful when the mix's starts from one end of stick travel instead of the centre.

Example: motor compensation. With motor compensation, the throttle stick is mixed to the elevator channel. The output must be zero when the throttle is fully back (idle), rising to some maximum value when it's fully forward (max power). We achieve this by setting offset = weight. The output will then vary between 0 and (2* weight).



CH2 (elevator)

Src=Thr, wt=20%, offset=20 -- motor compensation mix

The motor compensation will be 40% at full throttle.

Note: offsets should be used sparingly! Do not use them to make ad-hoc adjustments to servo centres - use OUTPUTS->Subtrim for that.

Mixer curves (diff, expo, functions and curves)

In addition to weight and offset, OpenTx offers one additional parameter from the following list of choices:

The first three options can in fact all be represented as curves - think of them as short cuts to particular curve types.

Including/excluding trims

By default, trim values are included in sources. You can exclude trims on a per-mixer basis by unchecking "Include Trim" in the mixer dialog.

Order of processing

When processing a mixer, OpenTx first applies the trim value (if applicable). Then it applies the function (function, curve, expo), followed by weight, and finally adds the offset. The single exception to this rule is diff which is applied after weight and offset.
Order may be important when combining operations especially where offsets are involved!

How to set aileron differential

The 'diff' parameter is available in both the INPUT and MIXER menus. So which should you use to implement aileron diff? First, the incorrect way, using INPUTS menu:



Src=Ail, wt=90%, expo=10, diff=20



CH1 (right elevon)

Src = [I1], wt=100%


CH2 (left elevon)

Src = [I1], wt=-100%

The problem is that diff is applied to the aileron stick, while we want it to be applied to each aileron servo. The correct way is therefore to apply it to the servo mix:



Src=Ail, wt=90%, expo=10, diff=0



CH1 (right elevon)

Src = [I1], wt=100%, diff=20%


CH2 (left elevon)

Src = [I1], wt=-100%, diff=20%

To summarise: Do not specify diff at the Input level. Specify diff separately for each aileron mix!

TIP: Use a GVAR to supply the diff value. That way, you can set diff for both channels with a single adjustment.

Default mixer settings

When you create a new mix, the initial settings are weight=100% and offset=0, diff/expo=0 and no curve. The source value is therefore passed through unchanged.

Mixer best practice

Your mixing scheme is the heart of your setup and it's important to understand best practice. First of all,