FPV Drone Custom Motor Mixing: Hexacopter, X-Class, and Unconventional Layouts — 2026

Betaflight’s default quad X mixer works for 95% of builds. The other 5% — hexacopters, octocopters, X-Class beasts, tricopters, and asymmetrical deadcat frames — need custom motor mixing, and getting it wrong produces a quad that yaws when you punch out and pitches when you roll. If you’re building anything with more than four motors or a non-symmetrical arm layout, stop here and mix correctly.

Custom Motor Mixing: The Math Your Flight Controller Needs

Understanding the Mixer Table

Betaflight’s mixer is a matrix that maps each motor’s physical position and rotation direction to the flight controller’s roll, pitch, yaw, and throttle commands. Each motor gets a weight value for each axis:

mmix 0  1.000  -1.000  0.750  -1.000  # Motor 1: Thr=1.0, Roll=-1.0, Pitch=0.75, Yaw=-1.0

The four values are: throttle weight, roll weight, pitch weight, yaw weight. Roll/pitch values depend on motor position relative to center of gravity. Yaw values depend on motor rotation direction (+1 for CW, -1 for CCW). The mixer assumes a coordinate system where +X is forward, +Y is right, and +Z is down.

Mixer Calculation for Unconventional Layouts

For any motor at position (x, y) in mm from the center of gravity:

  • Roll weight = y / max_arm_span (positive for right-side motors, negative for left)
  • Pitch weight = x / max_arm_span (positive for rear motors, negative for front)
  • Yaw weight = +1.0 (CW rotation) or -1.0 (CCW rotation)
  • Throttle weight = 1.0 (standard) or scaled for thrust differential

max_arm_span is the distance from CG to the farthest motor — this normalizes all weights to the range [-1.0, +1.0].

For a standard 5-inch quad X (motors at 45° from center):
– Motor 1 (rear right, CW): position (80, 80), max_span=113mm → roll=0.707, pitch=0.707, yaw=+1.0
– Motor 2 (rear left, CCW): position (-80, 80), max_span=113mm → roll=0.707, pitch=-0.707, yaw=-1.0
– Motor 3 (front right, CCW): position (80, -80) → roll=-0.707, pitch=-0.707, yaw=-1.0
– Motor 4 (front left, CW): position (-80, -80) → roll=-0.707, pitch=0.707, yaw=+1.0

Hexacopter Custom Mixer (6 Motors)

A hexacopter with motors every 60° around the CG at radius R:

# Hexacopter X (flat layout, 6 motors at 60° increments)
# Motor layout: 1=right-front, 2=right, 3=right-rear, 4=left-rear, 5=left, 6=left-front
# Rotation: alternating CW/CCW
mixer CUSTOM
mmix 0  1.000  0.500  0.866  1.000   # M1: right-front, CW
mmix 1  1.000  1.000  0.000  -1.000  # M2: right, CCW
mmix 2  1.000  0.500  -0.866 1.000   # M3: right-rear, CW
mmix 3  1.000  -0.500 -0.866 -1.000  # M4: left-rear, CCW
mmix 4  1.000  -1.000 0.000  1.000   # M5: left, CW
mmix 5  1.000  -0.500 0.866  -1.000  # M6: left-front, CCW

The cosine/sine values (0.500, 0.866) come from cos(60°)=0.5 and sin(60°)=0.866. Each motor’s distance from CG is identical (radius R), so the weights are purely trigonometric.

Critical hexacopter note: Yaw authority is significantly higher than a quad because you have more motors contributing torque. Expect to reduce yaw P gain by 30-40% from a quad tune.

Deadcat / Asymmetrical Frame Mixing

Deadcat frames have wider front arms (to keep props out of the camera view) and narrower rear arms. The front motors sit further from the CG laterally than the rear motors. Without custom mixing, the quad pitches forward when you roll because the wider front arms generate more roll torque at the same motor output.

Custom mixer for a typical deadcat (front span 280mm, rear span 220mm, wheelbase 250mm):

mixer CUSTOM
mmix 0  1.000  -1.000  -0.893 -1.000  # M1: front-left, CCW (wider span)
mmix 1  1.000  -1.000  0.893  1.000   # M2: front-right, CW (wider span)
mmix 2  1.000  1.000   0.893  -1.000  # M3: rear-right, CCW
mmix 3  1.000  1.000   -0.893 1.000   # M4: rear-left, CW

The front motors get lower pitch weights (0.893 vs 1.0) because their roll contribution is proportionally higher due to wider arm span. This prevents pitch coupling during roll commands.

Custom Motor Mixer Comparison Table

Frame Layout Motor Count Yaw P Adjustment Pitch/Roll Coupling Difficulty Example Build
Standard Quad X 4 Baseline None (symmetrical) Easy Most 5-inch builds
Deadcat 4 Baseline Yes (requires custom mix) Moderate GEPRC Mark5, iFlight DC frames
Hexacopter X 6 -30 to -40% Minimal (symmetric) Moderate Long-range hex, heavy lift
Hexacopter + 6 -30 to -40% Moderate Moderate Cinema rigs, redundancy builds
Octocopter X 8 -50 to -60% Minimal Hard X-Class, professional rigs
X-Class (Quad) 4 +20 to +30% Minimal (symmetrical) Hard 10-13 inch props, 12S
Tricopter 3 + servo -20% + servo tuning Severe (tail servo) Hard RCExplorer style, niche
Y6 (Coaxial Hex) 6 (3 arms) -30% Moderate (coaxial) Hard Compact heavy-lift
V-Tail 4 -10% Moderate Moderate Aerial photography

Common Custom Mixer Mistakes

Mistake 1: Copy-pasting a mixer from a different frame geometry without verifying. A deadcat mixer from a 5-inch frame does not work on a 7-inch deadcat with different arm ratios. The pitch weights depend on the specific arm span ratio. Calculate your own weights or verify against your frame’s measurements.

Mistake 2: Forgetting to change mixer type in CLI before entering mmix commands. mixer CUSTOM must be set first. If you paste mmix lines with the default mixer QUADX active, Betaflight silently ignores them. After pasting, run mmix with no arguments to verify all lines are loaded.

Mistake 3: Setting yaw weights without alternating signs. Every motor’s yaw weight sign must alternate around the frame: +1, -1, +1, -1… for quads and hexacopters. If two adjacent motors have the same yaw sign, they’ll fight each other on yaw commands and the quad will oscillate violently.

Mistake 4: Ignoring PID retuning after custom mixing. A hexacopter has more yaw authority than a quad. Running quad yaw P gains on a hex produces rapid yaw oscillation that sounds like a failing bearing. Reduce yaw P by 30-40% and retune from there.

Mistake 5: Mixing for center of gravity that doesn’t match actual CG. If you measure motor positions relative to the frame center but the battery shifts your actual CG 20mm forward, your mixer is wrong. The pitch axis will be unbalanced — rear motors work harder in hover, reducing available thrust for maneuvers. Measure CG with the flight battery installed, not the bare frame.

⚠️ Regulatory Notice: The flight recommendations in this article should be followed in accordance with the latest 2026 drone regulations in your country or region. Always verify local laws regarding flight altitude, no-fly zones, remote ID requirements, and registration before flying. Hexacopters and X-Class builds often exceed 250g and may require registration or certification in your jurisdiction. Regulations vary significantly between the FAA (US), EASA (EU), CAA (UK), CAAC (China), and other authorities.

As we covered in our FPV flight controller wiring guide, custom mixers require correct motor resource mapping to their respective outputs. See our motor sizing and stator volume guide for selecting the right motors for multi-rotor configurations.

For pilots tackling hexacopter or X-Class builds, the uavmodel T-Motor Flame 80A 4-in-1 ESC handles the current demands of six motors on 6S — 80A continuous per channel with individual current sensing for every motor output.

Leave a Comment

Scroll to Top