Tiltrotor support for plane

Hi Juan,
You discribe a tri-motor tiltrotor with vectored yaw, like our “Mozart”.

Here is a setup proposal (see Davids above showed picture - only Servo11/12 function changed due to vectored yaw)

SERVO1_FUNCTION = 4 (Aileron)
SERVO2_FUNCTION = 19 (Elevator)
SERVO4_FUNCTION = 21 (Rudder)
SERVO5_FUNCTION = 33 (Motor 1 = ESC right motor)
SERVO6_FUNCTION = 34 (Motor 2 = ESC left motor)
SERVO8_FUNCTION = 36 (Motor 4 = ESC rear motor)

SERVO11_FUNCTION = 75 (Motortilt left = left front motor tilt servo)
SERVO12_FUNCTION = 76 (Motortilt right = right front motor tilt servo)

Transition related parameters:
Q_TILT_MASK 3 (Only Motor 1 and Motor 2 are tiltable. So the bitmask = binary 11 , decimal 3)
Q_TILT_TYPE 2 (continous tiltservo with vectored yaw)

Depending on your individual plane(Acceleration, Stallspeed) , you will have to adjust the fellowing parameters:
Q_TILT_MAX 70 degree (Max. tilt angel while waiting , that FBWA_MIN will be reached)
Q_TILT_RATE_DN 10 degrees/second hover->forward flight
Q_TILT_RATE_UP 80 degrees/second forward flight>hover
FBWA_MIN = 9 (m/s) (Your Airplan have to reach this airspeed with Q_TILT_MAX ! )

I wish you success


Yes Rolf, Thank you!!!
Thank you David, Sam!!! All of you guys!!!
I could do nothing this afternoon but read the Mozart blog… amazing!!!
I think I have a lot of information to start with and progress now.
You were very helpful!!!

Thanks @tridge & @GregCovey for all the advice.

I have been struggling for time to take this forward recently but got round to it tonight with a few friends. I have managed to diagnose the motor stuttering and the yaw control issue I had.

With regards to the motor stuttering, the occurs when the throttle is at its lowest position and the quad plane is disarmed in any fixed wing flight more. When armed this does not occur and all stock hardware should work. @GregCovey the stock hardware isnt great but should do the job for the first flight. @Tridge I think this is a safety feature that could be introduced in later iterations of the arduplane software. Can you also confirm this ?

With regards to no yaw control, I was puzzled by this for a while but when clowning around with it I noticed that no manual yaw response is given when the throttle is at its lowest position. When the throttle is not on its lowest position, manual yaw control is given. @Tridge is this a design feature of the tricopter? Seems like something that I have overlooked as I am less familiar with the copter documentation than the plane documentation.

I intend to have the first flight of this on Sunday. Will keep you guys posted on how it goes!


it sounds like you don’t have the right PWM range for the motors, at least at the low end. What do you have it set to?

what flight mode are you referring to? If this is QSTABILIZE mode then lowest throttle position is motors off, so indeed there is no yaw control.

Hey @tridge

Unfortunately when we went to fly this today, one of the aileron servos packed in so was unable to fly. We will hopefully get this resolved and be able to fly next weekend.

For the motor issue, I have calibrated all ESCs and set the PWM range in the servo function parameters and still observe the same issue I clarified in my last post.I have posted another video here to better show my issue: https://vimeo.com/242473114

When the motors are disarmed in and the autopilot is in any copter mode the motors don’t spin and spin smoothly when armed. When armed in any fixed wing flight mode they spin smoothly, BUT when disarmed they stutter. I have managed to show the same issue now on a futaba TX/RX and frsky TX/RX.

The fact that it arms and disarms in the manner I would expect in copter modes and that the throttle is smooth when armed on any flight mode, would suggest I have calibrated everything correctly? I am not sure what I am missing here? I have done an ESC calibration and performed a radio calibration. I dont think this is a biggie in terms of functionality but I think it is a safety concern.

@Tridge What parameters would control this and I will tell you their value as set on my set up? I take it you don’t report the same issue if you were to try the same actions I performed in the above video?

For the yaw control I was referring to q stablise - apologies for not specifying. This just seems like something that has caught me off guard. I am just used to checking all my control surfaces before flying and was unsure if the autopilot would treat the tilt servo in the same way as a rudder on a traditional fixed wing aircraft.

Now that I am more familiar with this stuff since my first post, I think a lot of this is pretty minor and shouldn’t get in the way of actually flying the aircraft.


Managed to get four flights in today with the CL84. So huzaaahh.

The first flight was fairly successful. Started in qstabilse and entered qloiter. The aircraft flipped but no damage was caused. Put it down to this Pixhawk Stabilize=OK, Loiter= flip/crash at takeoff

The second flight was better. Again started in qstabilse and entered qloiter. Attempted to transition into FBWA but the aircraft went into a spiral dive and never recovered.

Luckily the damage wasnt too severe (one of benefits of having as wet ground as you do in Scotland) When reading the docs in more detail we dialed back ARSPD_FBW_MIN and Q_TRANSITION_MS.

Third flight was attempted and we fully managed to transition and land successfully. This was a good overall flight but noted that FBWA had an enormous turning circle.

Forth flight we attempted to autotune the CL84 craft but never fully got there and ran out of lipos.

I think we can manage to get the aircraft flying in fixed wing smoother by modifying roll and pitch angles allowed in the autopilot and with further autotuning.

However the transition is still pretty questionable. Anyone got advice on how to tune the transition so it’s smoother?


Hi @stundenblume,

I’m not super familiar with whether this is the appropriate place to ask this (this is my first post) - I’m an aerospace undergrad and I’m working on a tiltrotor quadplane really similar to the one you were working on earlier this year. I just wondered if I could ask some questions about the hardware, etc? If email is a better place for that, mine is: nickbain@mit.edu. Let me know if that’d be ok.

Thanks a lot,


To increase your turning angle, you can change the default MIXING_GAIN from 0.5 to 0.7 or higher. Be sure to have sufficient speed after transition before turning with too much angle.

Hi everyone,
I posted a query on Arduplane forum, but here might be a better place.
I would like to try Qplane to build and fly a quadcopter fitted with a fixed wing and a servo mechanism that can tilt all 4 motors at once from up to forward. In forward mode I would like to only use differential thrust for yaw, pitch, roll. I do not want to use any control surfaces. Also, when tilting the rotors I would like yaw and roll to be swapped automatically so that the aircraft can be flown like a normal plane. Is this something covered in Qaudplane? Do I simply connect my motors to ch5/6/7/8, nothing on ch1/2/3/4 and a servo for tilting on ch9 for example?
I hope the above makes sense and someone can help?


Are there plans to add acro and Qacro modes in the near future? Those of us that fly fpv would especially appreciate it.

Hi all,

I’m excited about tiltrotor capability and Arduplane and would like to get it flying my F-35B project, shown here: https://www.youtube.com/watch?v=9hXilIjJZas

In hover, there are two 90mm fans for lift aided by two 40mm fans for roll control. It’s essentially a Quad + configuration. In forward flight, just the rear nozzle tilts forward as if it were simply a motor tilt servo. From what I can tell, the stock tiltrotor implementation in Arduplane can almost handle this configuration, but needs one tweak. In hover, yaw needs to be mapped to a tricopter-style tilt servo (my swivel nozzle accepts a PWM input for yaw vectoring) rather than the typical differential torque setup of the quad frame type.

Can anyone point me to the right place to add this behavior? I can stumble around code but don’t have enough experience with Arduplane to make edits without some guidance.


Hi, first thank you for your collaboration

I don´t understand somethings questions:

First question
"Q_ASSIST_SPEED = 0 >>>> because tilted Motors cant help prevent stalling"

If we set Q_ASSIST_SPEED = 10, and we fly in plane mode bellow 10 m/s, the tilt motors will not balance and motor rear help to prevent stall?

Then how can we prevent stall in one quadplane tricopter? Only with ARSPD_FBW_MIN or CRUISE_SPEED?

Does not arduplane contemplate it with the tilt motors balance option and motor rear help in one quadplane tricopter?

Another question:
if we use air sensor then this parameter (FBWA_MIN = 9) does not activate anything, we will have to setup ARSPD_FBW_MIN.
Is it like that?

Ask question:
Why does arduplane talk about FBWA (and not FBWB) on a quadplane when we use an air sensor?


Correct, they are still remaining in plane mode.

While flying as a plane, the 4 Motors are fixed in a “Copter”-Postion

arduplane does not

You are the first one who realizes it: I accidentally wrote FBWA_MIN several times instead of ARSPD_FBW_MIN. Sorry

Because the tranistion is triggered by switching to FBWA mode.

Regards Rolf

thank you very much for confirming my doubt.
Arduplane should implement this assistence for tilt-rotor in future updates.

In one quadplane tricopter tilt-rotor, copter CG and plane CG must be the same and I imagine that it must coincide with the CG of the plane.

But in your designs the front motors when they turn from the vertical position <> horizontal position, the plane CG is changed because the 2 engines are advanced or delayed with respect to the CG.

How does this affect transitions and flight?

Have you used any alternative to correct any possible decompensation?

  • increase distance from the rear engine to the CG
  • rear engine with less kv and larger diameter propeller
  • or nothing


Hi Eric,
I am quite impressed with your project. It is very stable in hover. Did you get guidance on your question? You could take the tiltrotor vectored yaw output and redirect it to your servo.

I am building a ducted fan quad tiltrotor with all 4 fans tilting to, theoretically, go very fast. To date it has made many Qhovers and many crashes.
I have a recent problem which might be related to your question.
All my ducted fans rotate the same direction so I am relying completely on vectored yaw control. It was working well until I was forced to make a compromised ducted fan blade change. Now it takes off and continues to climb in Qhover despite reverting to zero throttle. One of the 4 motors is maxed out (to maintain stability?) forcing the model to climb. Good thing it is tethered. I think it is yaw control forcing 1 motor to max out. The vectored yaw servos are not maxed out.

Do you know if invoking vectored yaw control stops the motors attempting to yaw control as per a conventional quadcopter?


Hello Tridge, I do not understand your formula to calculate the pwm of SERVOn_MAX and SERVOn_MIN.

“so to get it straight up, it needs to move the servo to SERVOn_MAX- (15/105) * (SERVOn_MAX-SERVOn_MIN)”

Hey guys, I’m mapping out my first VTOL conversion build; just wondering if any of the experts have an opinion on the Great Planes Rifle, 1 meter plane? It seems like a good candidate for a Y conversion. I’m an avid 3D designer and printer, so I’d make my own wing cowlings for the two new wing-mount motors, cap off the existing center motor with a nose cone.

Just wondering if this might be a good platform?
Wingspan: 39.5" (1000mm)
Wing Area: 174 sq in (11.2 sq dm)
Weight Range: 25-28 oz (710-795 g)
Wing Loading: 20.7-23.2 oz sq/ft (63-71 g sq/dm)
Length: 30.5" (775mm)

Thanks in advance, looking forward to my first conversion!

Hi all,

Would someone kindly confirm or deny if current the following is supported (or not) in arduplane.

Quadplane with 4 motors (typical H fram setup) with only the front 2 tilting. So when in vtol mode is a basically a quadcopter, and when in fixed wing mode it is a twin tracktor (with the back motors not doing anything).

I don’t see anywhere (in documents) that it is not supported, but someone led me to believe so and also everyone here seems to be only doing some triopter variation (with single rare motor), or all for motor tilting.

And bonus question is if assist mode does anything for such setup?

Thank you.

yes, that will work with the current code, just set the tilt mask correctly

yes, the Q_ASSIST code will work

1 Like