Tiltrotor support for plane

Hi Greg,
I haven’t implemented the code for retract type servos yet. I did start modelling it in a flight simulator with ArduPilot in control and it was really unstable during transition. I need to look into why it is so unstable and fix it.
Sorry it is taking so long. My priority right now is the 3.6.0beta2 release and I probably won’t get to the CL-84 servo code for a few days more at least.
Cheers, Tridge

Thanks for the update. No problem on the delay. Our summer is just beginning here so we have a good five months of flying weather ahead. After our Memorial Day weekend is over, I can start mounting the Pixhawk, GPS, and Power Module. I added a steerable nose wheel to mine so I could even try to fly it normal using Arduplane.

Will a “Tailsitter” type plane (elevons only, single motor) be supported anytime in the future (or now)?

It is mechanically and electronically the most simple of the potential VTOL’s but would it be a challenge in getting it to work properly?

This is my last test of the CL-84 before changing the stock controller to a Pixhawk loaded with new Tiltrotor firmware for APM:Plane. The stock ESCs were replaced with faster SimonK ESCs which made the transitions more stable and predictable. There was a fair amount of wind during this test which shows that the CL-84 can hover with control in breezes up to 10mph.

What a fun design!


Edit: Apparently, new users are limited to only 4 replies in a topic so I am forced to edit my 4th reply to add information.

I started my conversion to APM on the CL-84 by removing the stock flight controller and mounting the Pixhawk, GPS, PM, and support parts. I connected my Pixhawk to the FrSky X8R via a single SBUS connection.

I realized that we still need a connection diagram for the following outputs.

  • Left main motor CCW
  • Right main motor CW
  • Tail motor CCW
  • Tail motor tilt servo (Yaw)
  • Hover/Forward Flight mode servo
  • Ailerons
  • Elevator

Edit #2: This forum is pretty lame. How do you become something other than a new user if you can’t have more than 4 posts?

I hovered my CL-84 in the backyard using APM:Copter v3.3.3 firmware. It needs some pitch tuning because It’s not a normal tricopter with 3 equal motors but it works first try! What a hoot!

Edit #3: Hover testing with APM:Copter

I loaded copter v3.3.3 on my Pixhawk just to play around with how it might Loiter better than the stock controller. I’ve changed some PIDs and got it to work in Stabilize and Alt. Hold modes in light wind. Loiter will be next.

In addition to PID changes, I got a tip that these settings are needed for manual yaw control. Unlike the original controller, the manual yaw control is not active until the motors are running.

ATC_SLEW_YAW = 18000
ATC_ACCEL_Y_MAX = 100000

Edit #4: Pixhawk Installation in CL-84

Edit #5: ARMing LED Indication

There doesn’t seem to be a way to drive the ARMing LED in Pixhawk like in APM 2.x. Maybe you can add an AUX output to drive the ARMing LED of the CL-84.

Edit #6: Initial Testing with Copter v3.3.3

While waiting for the APM Plane tiltrotor code to be enhanced for the CL-84 retract-style transition servo, I decided to play around with APM Copter v3.3.3 on my newly installed Pixhawk. Photos at the beginning of the video show component placement and you can see my telemetry unit is mounted underneath the fuselage.
My current PID settings allow it to work in calm conditions but it doesn’t like much wind so I will continue to investigate. It may be good enough to try an Auto-Tune at this point but first I want to check the Throttle-Mid and Vibration readings. Fun stuff!


Edit #7: Test #2 with Copter v3.3.3

I have my PIDs tuned better for wind now. I’ll wait for the new APM Plane code to be ready for the CL-84.



Testing my new posting capability, thanks to Jani.

Hi Tridge,

My CL-84 is in a holding pattern ready for new firmware. Even if you don’t have the transition working perfectly, if you could make a build that would allow me to test the proper connections and setup for a tricopter, it would be a great start. I could simply play with hover setups and verify (on the ground) that forward flight mode is set up properly.


Hi Greg,
I’ve now implemented support for tiltrotors with “binary” servos (ie. retract servos). It has only had very basic testing in simulation, so I don’t suggest you fly it yet, but it would be great if you could start doing ground tests with props off.
The code is here:
and I have put a build for Pixhawk here:
Here is a quick guide to the setup:
connect channels as follows:

  • chan1: aileron
  • chan2: elevator
  • chan5: front right motor
  • chan6: front left motor
  • chan8: rear motor
  • chan11: rear motor tilt servo
  • chan12: front motors tilt servo

set the following parameters:

  • Q_ENABLE=1
  • Q_TILT_RATE=22.5
  • RC12_FUNCTION=41

Setup the Q_A_* params to match the ArduCopter parms for master tricopter ATC_*

The Q_TILT_RATE of 22.5 assumes that the tilt servo takes 4 seconds to go from all the way up to all the way forward. Please time that carefully by flicking between QSTABILIZE and FBWA and seeing exactly how much time it takes for the servo to rotate fully. The 22.5 value is 90/4 (so 90 degrees in 4 seconds).

For ground testing, see how the motors react as you move from QSTABILIZE, QHOVER and FBWA modes.

Cheers, Tridge


Thanks for the code and setup information. I loaded it up and have some initial observations below. My biggest surprise is the automatic transitions based on flight mode. This feature is a shift in convention from my Taranis slider control used on the FireFLY6 and stock CL-84. I need to think about it some more since the QuadPlane implementation has specific flights modes for copter and plane. Fun stuff!

Here is the good stuff:

  1. Aileron and Elevator control properly with R/C sticks
  2. Aileron and Elevator compensate properly with plane movements
  3. Wing servo transitions properly between flight modes

Here is the odd stuff:

  1. Why is Flight Mode on Ch.5 for Copter and Ch.8 for Plane?
  2. Transitions take 6 seconds, not 4 seconds
  3. I lost my Copter v3.3.3 calibrations and now get Bad AHRS messages
  4. ACC Calibrations fail but were fine on Copter v3.3.3
  5. Can not ARM motors in Q modes due to errors above
  6. Motors don’t shut off in FBWA mode

Hi Greg,

The basic idea of a flight mode in ArduPilot is that changing flight mode changes the way the pilot interacts with the aircraft. So when you switch from a fixed wing stabilised mode to a hovering mode then the throttle stick changes from forward thrust control to vertical thrust control. That makes it a different flight mode.
I find this works extremely well but I do understand it is different from how some other systems handle VTOL transitions.

In plane it is settable. Just set FLTMODE_CH to 5 and it will be on channel 5. It defaults to 8 for historical reasons that go back to the APM1. The APM1 had hardware failsafe passthrough tied to channel 8 that only worked on fixed wing, so copter used a different channel.

ok, then you need to set Q_TILT_RATE to 15

you need to either re-do the accel calibrations or manually copy the calibrations over. Same for compass calibration.

The accel and compass calibrations are the same in copter and plane. I’m not aware of changes since copter v3.3.3 that would cause it to fail now and pass previously. If you persistently can’t get it to calibrate then give me a tlog showing the failed attempt and I can see if I can spot a reason.

for bench testing purposes you could disable the arming checks (set ARMING_CHECK=0) but please don’t try and fly it with arming checks disabled.

I’ve found a bug that caused the two front motors to always run at the Q_M_SPIN_ARM throttle when in FBWA. I’m guessing that is what you are seeing. I’ve put a new test2 firmware up that fixes that, please check that all motors now stop at zero throttle in FBWA.
also check:

  • that you have a non-zero RC3_DZ
  • that channel 3 min on your transmitter matches RC3_MIN
    Another thing to understand is Q_ASSIST_SPEED. That is a airspeed below which the VTOL motors will provide assistance even in FBWA mode. I suggest you do the first flight and ground testing with that zero. Once you have more experience with the quadplane code you could set a non-zero value. I normally fly with Q_ASSIST_SPEED a bit above the stall speed as it allows me to slow down in FBWA to any speed I like, even completely stopped, while retaining throttle mapped to forward thrust. That won’t interact well at the moment with the binary nature of the CL84, but we may be able to find a way to make it work well later.
    Apart from the basic tests you have done, please perform the following tests:
  • with props off, test it in QHOVER and QSTABILIZE modes and ensure it stabilises as a tricopter. Check roll, pitch and yaw.
  • test that in FBWA mode you have good throttle control and that the rear motor does not spin
  • while in QHOVER at half throttle (so aircraft is stabilizing) switch to FBWA mode. The fwd motors should start to tilt. As they tilt the fwd motor throttle will increase and rear motor will decrease (to maintain pitch). As soon as the motor tilt is all the way forward the rear motor should stop and you should then have fwd throttle control
  • while in FBWA mode switch to QHOVER. The motors should start to tilt up. As soon as they are tilted up even a little the rear motor should start, initially at very low throttle. It should smoothly increase and the fwd motors decrease as the tilt goes up
    Another critical parameter is Q_TILT_MAX. This is the tilt angle of the fwd motors beyond which the fwd motors no longer contribute to roll control. The right value for that is very dependent on the aerodynamics of the airframe. The default is 45, but it may be you need a smaller or larger value. We’ll only find out by flying it.

Hi Greg,
I’ve been doing some more testing with a tiltwing in RealFlight and I’ve found the main problem is with the transition from forward flight to hover. For example, say you are flying in FBWA and transition to QHOVER. The problem is that the code can’t compensate fully for the pitching moment caused by the tilted wing at high speed. It can cope with the reduction in pitch moment from the forward motors being tilted, so when I test with a tricopter tiltrotor that doesn’t tilt its wing it works really well. When the wing also tilts then that causes a large pitch up moment proportional to airspeed, and for the simulator I have setup it doesn’t have enough thrust from the tail rotor to prevent the plane pitching up hard.
What I don’t know is if in the CL84 this is a problem. I’d certainly want to do the first transitions from fixed wing to hover with plenty of height above the ground to give time to recover, plus at as low airspeed as possible to reduce that pitching moment.
Cheers, Tridge

Hi Tridge,
Thanks for the new test code and list of things to test. I should get to play with it today.

I have experienced a difference in the transitions from forward flight to hover in the CL-84 as compared to the FireFLY6 with AvA. The FireFLY6 transitions are most elegant and automated with their new AvA and Wind Assist features. The FF6 transitions are always done in Alt. Hold modes. This would correspond to QHOVER and FBWB modes in plane. You simply move the left slider on the Taranis to change the FF6 from forward flight to copter-like Alt. Hold mode.

On the CL-84, I had it set up with the same left slider controlling the flight mode. The audibles from Amber’s voice are a real help here at times when you lose your wits from flying many different models. Transitions from hover to forward flight were easy and forgiving. However, when transitioning from forward flight back to hover, it worked best when you had the proper setup as shown in my videos. SimonK ESCs worked considerably better than the stock ESCs. I would slow the CL-84 down in speed so it was just above stall speed and flip the left slider while facing into the wind. The tilted wing of the CL-84 has much more resistance to wind than the FF6 tilt rotor design. I have flown the CL-84 in enough wind that I could not hover land it so I needed to land as a normal plane in forward flight mode. The FF6 also has more power to hover with its equal Y6 motor configuration.

My initial testing for the CL-84 using copter v3.3.3 was quite fun to see it Loiter. I was also surprised to see that my Throttle MID was near 500 as I thought it would be underpowered.

1 Like


I tested the ArduPlane-v2-CL84-test2.px4 firmware. Here are the results. I have two .bin log files from the testing but they are too large for uploading to this forum. If you really want them, I can post them in DIY Drones or RCG. Note that I disabled any arming checks.

Here is the good stuff:

  1. ACC Calibration was successful, not sure why it wasn’t yesterday but I had tried 5 times
  2. QStabilize, QHover, and QLoiter seem to compensate motors properly
  3. RC3_DZ was 30
  4. The motors shut off properly after calibrating the Radio, now RC3_MIN is 982 (unless a transition was done)
  5. In FBWA mode, throttle control was good and rear motor did not spin (unless a transition was done)

Here is the odd stuff:

  1. Could not disarm using yaw stick once armed by yaw stick (before or after a transition)
  2. After a transition, motors make a weird popping noise and seem uncontrollable
  3. After a transition, I can no longer shut off the motors
1 Like

Greg, do you have ARMING_RUDDER = 2?

1 Like

Good catch, my ARMING_RUDDER is set to 1. I am used to copter so plane is new to me…thanks!

I attached my param file…
CL84withAPMplane1.param (13.2 KB)

Hi Greg,

as iskess says, you need RUDDER_ARMING=2. The reason it is disabled by default is that full left rudder and zero throttle is a perfectly valid flight input in fixed wing.

after what sort of transition? From what mode to what mode? if you can get a DF log of this that would be appreciated

again, what sort of transition, and how are you trying to shut off the motors?
Cheers, Tridge

Happy to be able to help you Greg, your contributions to the community over at RCG has been a tremendous help to countless hobbyists.

@tridge, I don’t want to hijack this thread, but I was hoping you could reply to a few of the Quadplane questions embedded in my recent post. Sorry it’s so verbose, the questions are in bold.


Thank you so much for your valuable time.

1 Like


The maximum files size upload on this forum is only 3meg so I hosted the log (.bin) files below. One is 8.8meg and the other 6.4meg.

Here is how I currently have my Flight Modes set up. I haven’t used QRTL so I am switching between the first 4 modes. From any Q mode, switching to FBWA mode causes the problems; motor popping noises and I can no longer shut off the motors with the throttle all the way down. The same issue happens in reverse order. My use of the term “transition” is from a Q mode to FBWA or back…so basically from plane to copter or copter to plane.

Edit: Here is more detail on the mode change issue.
If I go into FBWA mode before arming, I can arm the CL-84 and the FBWA mode appears to work fine.
If I disarm in FBWA mode and change to QStabilize mode, I can arm in QStabilize mode and it appears to work fine.
The issue starts when I am already armed and try to change modes from QStabilize to FBWA or reverse. Then the motors start popping in FBWA mode and I cannot turn them off with minimum throttle. When in this odd mode, I can no longer disarm and need to power cycle the CL-84.

yes, you’re right I haven’t spent enough time responding to help requests. I’ll try to get some done today.


I’ve got 3 of the Aero’s I can setup in this manner, plus 1 Voltanix Ranger EX which someone has already done. This is amazing!!!

Great work!

Hi all, this is fascinating progress. I would like to do my part to help.
I would like to build a test airframe for this. I would rather just tilt-rotor rather than tilt wing.
I was thinking of designing and building an airframe that can be either Tri or Quad, (it’s quad I’m particularly interested in).
Anyway I will build whatever setup will help the most for testing this firmware. So what would you like?


Hi Anthony,

Welcome to the tiltrotor support for plane thread. Choosing a frame type is a tough call so maybe Tridge will have some suggestions. I have the BirdsEyeView Aerobotics FireFLY6 which is a Y6 tricopter, tiltrotor, flying wing. The AvA firmware works fantastic on a single Pixhawk, however, the entry cost of around $1500 is quite high for many hobbyists. Further, I don’t want to test new firmware on the expensive frame that already works great. Here is one of my FireFLY6 videos.
FireFLY6 Test Flight 2

The CL-84 from HK is another rare VTOL ARF but it is much lower in cost and capability. Hopefully, the market will open up with some additional designs for those hobbyists that don’t have the skills (or desire) to build there own model. I tested it well in stock form and again using Copter v3.3.3 so it’s a good candidate for the new tiltrotor/tiltwing support.

My current plans also include converting my Bix3 ARF APM plane setup to a QuadPlane. It looks to be a simple conversion as it already has a Pixhawk in it.

I think your choice of going for a tiltrotor instead of a tiltwing is a good one. Although a scale model, the tiltwing CL-84 is like a kite in wind when hovering as compared to the tiltrotor FireFLY6 design. If you choose an inexpensive frame that you can modify, you may be able to leverage from the FireFLY6 spares like the transition kit or motor mount kit. Good luck!