

Coaxial X8 (OctaQuad) has zero yaw authority with bottom rotors running, top rotors alone fly fine. CubeOrange+ / ArduPilot
Looking for a second set of eyes on a coaxial X8 yaw problem that has survived everything I have thrown at it, including a full parameter wipe.
Build
- Frame: coaxial X8, 67 cm motor to motor, with prop guards
- FC: CubeOrange+ running ArduPilot
- Motors: 8x MAD BSC3115 KV490
- ESCs: 8x MAD AMPX 40A V2
- Props: 9 inch, 3 blade
- GPS: Here4
- RC: TBS Crossfire into a Taranis QX7
- Battery: 12S 10,000mAh 100C
- AUW: 14.2 lb
Problem
On takeoff it immediately starts spinning and has essentially no yaw authority. If it doesnt spin on takeoff the Yaw control doesnt work at all and so there is no rotational movement produced from the quad. Yaw stick input produces little to no response. The only way to influence yaw at all is to slam full yaw stick at the exact moment I add throttle, which sometimes tricks it into rotating one direction, but there is no real closed loop yaw control after that.
The key finding
I have isolated it to the bottom rotors. Top four rotors only: flies and yaws correctly. Bottom four only: oscillates with no yaw authority. All eight running: no yaw authority at all, which looks like the bottom layer is cancelling the yaw torque the top layer produces.
As a sanity check I reconfigured the FC as a plain quad twice, once mapped to the top four motors and once to the bottom four. Both flew correctly as quads. So each layer is fine in isolation on its own hardware. The problem only shows up in the OctaQuad mix once the bottom layer is active.
Already tried, none of it changed anything
- Swapped ESCs between motors
- Reversed yaw on the transmitter
- Recalibrated compass and accels several times, also flew with the compass disabled
- Verified every motor direction in the Mission Planner motor test, all correct
- Loaded OctaQuad PID values from other builds
- Full parameter wipe by flashing Rover then back to Copter, then redid every calibration (GPS, compass, ESC, RC, accels) from scratch
- Tried ArduPilot's counterclockwise motor numbering scheme
Question
Each layer flies fine on its own, but the bottom layer kills yaw authority in the combined OctaQuad mix. What am I missing?
Will send logs if you are interested.