Thank you so much for taking the time to reply with such clarity — your detailed explanations, diagrams, and patience are truly appreciated. Such clear penmanship and helpful guidance is rare these days.
I’m an older hobbyist (not nearly as analytical or prolific as most of the great contributors on the Ardupilot forum). I wrote my original post late last night while getting completely dumbfounded by this motor assignment issue. I was able to resolve a similar problem on a SpeedyBee F405 AIO with the community’s help quite easily, so I was hoping for something straightforward here too.
You rightly picked up on my wrong usage of the word “correct”. By “correct” I meant that Motors A and B spin the expected physical motors in Mission Planner’s Motor Test for a Quad (BetaflightX) setup, as shown on the official page:
For Motors C and D, I can’t get the right order.
With Servo4_FUNCTION = 34 and Servo3_FUNCTION = 35, pressing Test Motor C runs physical Motor D, and Test Motor D runs physical Motor C (they are swapped).
When I switch those two (Servo4=35 / Servo3=34), the mapping gets messed up more (A runs D, etc.).
My current setup:
-
AHRS_ORIENTATION = 4 (Yaw 180) — attitude shows correctly in all orientations (see the attached screenshots: right side down, left side down, nose down, nose up).
-
FRAME_CLASS = 1, FRAME_TYPE = 12 (BetaflightX).
-
USB input on the left side.
-
The arrow on the FC (as shown in the diagram you referenced) points to the right when the quad is viewed from above.
My Current Thinking
I was considering keeping Servo3_FUNCTION = 35 and Servo4_FUNCTION = 34 (so C and D are swapped in software) and then simply swapping the physical motor wires for the two rear motors (C and D) on the ESC pads. This feels simpler to me than more complex remapping.
What are your thoughts on this approach? Is it safe/recommended, or is there a cleaner software-only solution I’m missing due to my mounting orientation?
Thank you again for your help — I really appreciate it!

