Skip to main content

Mixer Support

  • Beginning with 3.1.7, some rarely used mixers have being dropped from F1 and F3 firmwares due to flash space limitation.
  • In addition, some mixers are not supported from the beginning (or at least I couldn't find any remains of the code).
  • On 3.2 and later, unsupported mixer is detected and reset to default (mixers without servos to "Custom" and mixers with servos to "Custom Airplane").

The future

Ultimately, motor and servo mixes will be dynamically loaded by configurator, and rarely used mixers are likely to resurrect (if devs find them useful enough).

The support matrix (x = not included, o = included)

MixerF1 (*1)F3F4 & F7Note
QUADXooo
QUADX 1234ooo
QUAD+ooo
Tricopterooo
Gimbalooo
Hex +xxo
Hex Xooo
Hex Hxxo
Octo Flat +xxo
Octo Flat Xxxo
Flying Wingooo
AirplaneoooSingle prop (inconsistent with graphic)
Heli 120xxxNo code
Heli 90xxxNo code
Single CopterxxxInsufficient code (no mmix)
Dual CopterxxoDoesn't reset without #3178
BicopterxxoDoesn't reset without #3178
V-tail Quadooo
A-tail Quadooo
Y4ooo
Y6xxo
Octo X8xxoCan be emulated by mmix (see below)
PPM to SERVOxxxNo code, can be emulated by smix (see below)
Customooo
Custom Airplaneooo
Custom Tricopterooo

*1: CJMCU and MICROSCISKY only supports QUAD mixer.

Octo X8 emulation

mixer custom
mmix reset
mmix 0 1.000 -1.000 1.000 -1.000
mmix 1 1.000 -1.000 -1.000 1.000
mmix 2 1.000 1.000 1.000 1.000
mmix 3 1.000 1.000 -1.000 -1.000
mmix 4 1.000 -1.000 1.000 1.000
mmix 5 1.000 -1.000 -1.000 -1.000
mmix 6 1.000 1.000 1.000 -1.000
mmix 7 1.000 1.000 -1.000 1.000

PPM to SERVO emulation

An example of direct channel mapping.

mixer customairplane
smix reset
smix 0 0 4 100 0 0 100 0
smix 1 1 5 100 0 0 100 0
smix 2 2 6 100 0 0 100 0
smix 3 3 7 100 0 0 100 0
smix 4 4 8 100 0 0 100 0
smix 5 5 9 100 0 0 100 0
smix 6 6 10 100 0 0 100 0
smix 7 7 11 100 0 0 100 0

Other emulations

It is easy to create a set of mmix/smix for a given mixer configuration; take corresponding lines from the source src/main/flight/{mixer,servos}.c and convert them to CLI format.