Reverse Tricopter-VTOL Plane

My colleague @Walter and me plan to build a new class of tricopter VTOL (as successor to our VTOL “Mozart”): This new Tricopter-Tiltrotor VTOL should have only one front motor but two rear motors.

What for? We expect efficiency advantages over the conventional tricopter tiltrotor, because for forward flight you need only one engine, the rear propulsion system could be optimized for hovering and carry the main weight.

To avoid complex mechanics by simultaneously tilting the front motor around the transverse and longitudinal axis, the front motor can be tilted 90 ° as usual, the rear motors can be tilted for about 15° forwards or backwards for vectored YAW control.

Unfortunately, there is no way to parameterize such a VTOL with Q_FRAME_CLASS 7. So my question to the developers, especially to @tridge, What do you think about that concept ?

Regards Rolf


essentially your trading off the weight of one tilt servo against the weight of another hover motor (and its extra drag in forward flight)

I think it would need a new motor mixer for ‘reverse tricopter’ and a new tiltrottor type to tilt the single motor not the pair.

Thank you for your prompt reply.

The idea was born from the actually amazing efficiency of Quadplanes. In Q-Planes, four motors increase drag in forward flight - but this disadvantage is more than compensated by the possibility to optimize the four motors/props for hover and the forward propulsion system for the intended cruising speed. We therefore expect a somewhat better efficiency from a “reverse” in comparison to a conventional tricopter tiltrotor.

yes, I was afraid of it.

you might be able to get it to work as it is, would be a bit of a bodge tho. I think negative pitch PID gains would make a ‘revese tricopter’ work and you might be able to get the the tilt working with the tilt output, however I think you would need a new class to get only yaw with the rear tilts and use the front for transition.

Great idea,
we will first look how the plane will behave as a copter. The wiring is done/planned as follows:

Motor 1 output with rear Motor right (instead of right frontmotor as usual)
Motor 2 output with rear motor left (instead of left frontmotor )
Motor 4 output with front motor (instead of the rear mtoor)
Q_TILT_MASK = 8 (only Motor 4 is tiltable)
Q_TILT_TYPE = 0 (no vectored for der Controler)
ServoXX_Function 41 to the front motor tilt servo
Motor 7 Output (usualy for yawservo) with both ±30° tiltservos of the rear motors.

1 Like

Might even work right out of the box if your lucky, if I get a chance I will add a reverse tricopter mixer. With those settings I don’t think you will need anything custom on the tilt rotor side.

I think a new Q_FRAME_TYPE makes sense for this. I think we’ll also need some work in the ArduPlane/tiltrotor.cpp code, as we’d need to support vehicles where some motors only tilt by a small amount and others tilt a large amount.

Until then we will first test with the negative P-values for pitch. We hope to be able to make the first hoverings at the end of April.


I have done a PR for reversed tricopter, should make it into master before you need it hopfully, otherwise I can build it for you.

This just inverts the outputs of the PID’s so is the same as using negative PID’s but now you wont get the errors and you can autotune. You need to set Q_FRAME_TYPE to 6 for MOTOR_FRAME_TYPE_PLUSREV.

1 Like

Thanks a million Peter

The fuselage and the tilt mechanism is completed. I’m still waiting for the delivery of the ESCs.

As soon as the ESCs will arrive, we want to perforn the first hover tests (still without wings. The wings still under construction are outlined in yellow)
@iampete Peter, could you build us a binary for a pixhawk 1?
So we do not need to use negative PIDs and will set Q_FRAME_TYPE to 6 for MOTOR_FRAME_TYPE_PLUSREV

Happy Easter
Best Regards

1 Like

I’m away for abit, can do it next week if thats OK, you can always build from my branch.

1 Like

Next week fits, because I still have to solder everything. Thank you in advance.

arduplane.apj (910.5 KB)

I have re-based on master, just set Q_FRAME_TYPE to 6 for MOTOR_FRAME_TYPE_PLUSREV

1 Like

Thanks a million Peter, just in time :smile:

Everything is soldered and just connected the battery for the first time. No smoke signals :grinning:
Tomorrow I want to install the firmware.


1 Like

Just to be sure before the first hovertests

  • are these engine positions correct ?


yep, looks good.

The two rear motor tilt outputs would be M7

yep. I hope it doesn’t matter that it’s nominally a motor output because I switched the motor outputs to Dshot. If not, I have to switch the motorutputs to PWM.

For the first hover-tests we have vectored yaw enabled - with a little trick:

Our rear servo mechanics tilts the motors at PWM values between 1100µs and 1900µs by +/- 45°. The rear servos of course can not tilt the engine completely forward, but the software does not know. You simply have to set SERVOn_MIN down to a suitable “virtual” value, as in the following example:

On the bench it works (QSTABILIZE):

Unfortunately, in one of the tests, a mechanical failure caused the front servo to break. Better on the ground than later in the air. It will take a few days until a new servo is installed.

1 Like

The servo problem is almost resolved, but the weather is too bad for test flights. @Walter used the bad weather to finish the wings.