Vtol crashed during rtl, please help

Today I just got big problem, my new VTOL is crashed during RTL. I take off using QSTABILIZE, then QLOITER, then FBWA. After a while changed mode to RTL , but the plane climb higher and higher up to about 100 m from 30 m. RTL altitude is 30 m. It seems that the plane was struggling against the wind, and then the battery was depleted then crashed . Fortunately nobody was at the area , and just dropped to the ground. I am very shocked . Please somebody help me to analyze what is the root cause of the problem. Why the plane climb to 100m from 30m during RTL, while RTL altitude is only 30 m. I understand that this plane is a bit underpower , I mean the pusher motor was struggling to fly against the wind. But aside from this issue, I believe there is other issue that makes the plane climb very high during RTL. Here is data of the VTOL and the bin log file
AUW is about 6 kg
WS 230 cm , X-UAV Talon airframe with extension wing
Pixhawk 2.1 Cube black with Here 3 GPS.

Pusher motor Sunnysky 4112 KV450 with APC prop.12x12
ESC for VTOL is Hobby wing XROTOR pro 50A
ESC for Pusher motor is Hobbywing Flyfun 60A
Battery : 6S Lipo 15000 mAH
Arduplane latest stable release (4.09 )
Here is the log file : https://1drv.ms/u/s!Ah183jiee3ZfbWuTrflsV94TRhE?e=WtkifI

Your opinion/analysis is highly appreciated.
Thank you.

Hi Tony,

I didn’t have much time to look at this today but I did find quite the mess in the log due to having too many automated features enabled at once. They may have produced the issues. Have you flown this VTOL before and manually tested FBWA and QLOITER modes?

In the first image below, I see the quad motors are always on. This would explain why your pusher motor is struggling against the wind because the quad motors were slowing the plane down. Once you got past the Q_ASSIST_ALT setting of 20 meters, it took most of the flight to go past the Q_ASSIST_SPEED setting of 14m/s. So your transitions into FBWA mode never really started.

When you add in the Q_VFWD_GAIN of 0.06 on the second image (yellow line), it shows the forward flight motor is always on. During your RTL, the ALT_HOLD_RTL was set to 10000 or 100 feet. It needs to be set to -1 to maintain the current altitude. At this point, I haven’t determined the crash cause other than a stall during RTL due to low speed. I am not sure if features like Q_ASSIST_SPEED function inside RTL.

If you can repair the Talon, I would disable some of the features like Q_VFWD_GAIN and Q_ASSIST_ALT. I would also lower the Q_ASSIST_SPEED from 14 to 10 which will keep you safe without coming on unnecessarily.


TonyAtmaCrash.param (21.7 KB)

Hello Greg, Thank you for your response. I forget to mention that I have tested this plane can do Qloiter and Fbwa well. You may be right that I should have lowered my Q_ASSIST_SPEED . The reason I put that speed higher is to avoid stall as the Quad motor will assist to maintain altitude untill the speed reach 14m/s. I did not realize this make the pusher motor work hard to pass the transition .
Sorry I still don’t quite understand why you suggest ALT_HOLD_RTL to -1 ? I think I want RTL altitude at that altitude for safety reason… But OMG, may be this is the reason why it climb higher to 100 m (units are in metric, so it is 100 m instead of 100 feet)… This is a bit confusing, as I set RTL_ALT to 30 meter right?? BTW Greg how do you get data: ALT_HOLD_RTL is 10000 ? How do you know the unit is feet? I think unit is in metric, means cm, don’t you think so?
But I did NOT change this value. I was confused with Copter parameter RTL_ALT, so I did not change this default value. I think this is a mistake. On the parameter table , there is no information at all about the units, and how to disable it by changing to -1 (I understand it is on the docs.). But I suggest here to give also this Very important information about what is the unit and the option -1 on the parameter information table.
Thank you.


I meant to say 100 meters, not 100 feet. Those darn Americans! :grinning:

It’s just my preference as I fly line of sight. You can set yours to 3000 for 30 meters (or 90 feet). The default value for ALT_HOLD_RTL is 10000 cm or 100 m.

The correct units are displayed in the WiKi section: Complete Parameter List

I don’t think you were in RTL mode but rather QRTL or hybrid RTL mode. Your Q_RTL_MODE was set to 1. I also don’t think that you were really in FBWA mode before changing to RTL since there were never any transition messages.

From the WiKi:

The initial altitude that will be aimed for in the fixed wing portion of the hybrid RTL is the same as for a fixed wing RTL. You should set your rally point altitude and ALT_HOLD_RTL parameters appropriately to ensure that the aircraft arrives at a reasonable altitude for a vertical landing. A landing approach altitude of about 15 meters is good for many QuadPlanes. This should be greater than or equal to the Q_RTL_ALT values.

The distance from the return point at which the aircraft switches from fixed wing to VTOL flight is set using the RTL_RADIUS parameter, or if that is not set then the WP_LOITER_RAD parameter is used. The aircraft will then slow down as it approaches the return point, aiming for an altitude set by Q_RTL_ALT.

Once the return point is reached the aircraft begins to descend and land, exactly as described in the VTOL RTL mode above.

Once the return point is reached the aircraft will start a vertical descent towards the ground for landing. The initial descent rate is set by Q_WP_SPEED_DN. Once the aircraft reaches an altitude of Q_LAND_FINAL_ALT the descent rate will change to Q_LAND_SPEED for the final landing phase.

In the final landing phase the aircraft will detect landing by looking for when the VTOL motor throttle drops below a minimum threshold for 5 seconds. When that happens the aircraft will disarm and the VTOL motors will stop.

In the second image below, there were never any messages for the transition to FBWA. So as the VTOL climbed, the speed approached 0 m/s and the log stopped.

The UAV Log Viewer image below, combined with the abrupt log stop, may suggest that something just quit in your system? I wouldn’t expect the battery to be so low that the regulators would give up while the plane was still climbing. There may have been some disconnection to the power source or a reset on the flight controller or possible a code crash. These are all guesses. Can you add anything to this like what you saw happen or how it fell to the ground or what may still have been working on the ground?

Appreciate for taking time to analyse my crash. First, I am interested with your last image, how to do that?
What makes you think, that it was not really RTL mode? According to the log it is RTL… I understand that the Quad motor still engage during this FBWA and RTL, as the airspeed was not reached 14 m/s. I am still not clear about the differences between parameter Q_ASSIST_SPEED and the ARSPD_SPEED_MIN . My understanding both parameter will make the quad motor to engage if the value is below the setting. But what is the difference between them? If I for example put Q_ASSIST_SPPED 10m/s, while the Min.air speed is 14m/s, at which speed value the Quadplane motor will be engage? I read your statement somewhere that the Quad motor will read the ARSPD_SPEED_MIN value to make them running. But then what is the function of this Q_ASSIST_SPEED ?
Greg, even though you don’t come to a conclusion yet, but I think your analysis guide me to the root cause of the problem…
I think I understand why it crashed. First, Ishould have changed the ALT_HOLD_RTL value to be much lower or set it -1… I think this is very very important lesson. The plane should climb to 100m is just waisting so much energy, especially during strong wind… And the pusher motor also have to struggle up to 100% (throttle)…This cause the battery voltage dropped very low, which make the system stop… Very expensive lesson…
Again thank you very much Greg,
Best regards…

Just drag your .bin file over to the dashed line and have at it. It’s a very powerful tool!
UAV Log Viewer

I think it was in QRTL mode (or hybrid RTL) because it never really made it into FBWA mode. Although the FBWA mode was selected, the transition speed was never obtained and therefor it never completed. I feel it may have been in some pseudo mode waiting for a timeout. This can be seen in the image just above the UAV Log Viewer image on my previous post.

I’m not sure what ARSPD_SPEED_MIN means. Did you mean ARSPD_FBW_MIN?

The ARSPD_FBW_MIN is the minimum airspeed demanded in automatic throttle modes. Should be set to 20% higher than level flight stall speed. It’s a target speed for the autopilot when the throttle is low in automatic throttle modes like CRUISE, LOITER, etc.

The Q_ASSIST_SPEED (or Quadplane assistance speed) mode is the speed below which the quad motors will provide stability and lift assistance in fixed wing modes. Zero means no assistance except during transition.

If you look at the battery voltage and current when RTL mode started, the quad motors all went to full to bring the altitude up to 100 meters.

In the last image below, the altitude was obtained and the speed was near 0 m/s in QRTL mode. It just stopped after that. It was around 1500 watts for about 45 seconds so maybe something became unsoldered from heat? Just a guess…

Hi Greg,
You are right about the minimum airspeed parameter during Automatic Throttle mode. So you said that your Q_ASSIST_SPEED is 10m/s, is this value based on your stall speed?
So if you put 10m/s is your stall speed, then your
ARSPD_FBW_MIN is about 12m/s correct?
(20% higher than stall speed). I put 14m/s based on my stall speed value plus 20% increase. But I also read your statement and also mentioned in the document that you put 0 for the Q_ASSIST_SPEED for first flying. That means Quad motor will not help during low speed…I think this is a bit risky if Some thing wrong happens. It seems there is contradiction here, on one side to avoid stall, we need to set Q_ASSIST_SPEED higher than the Stall speed . But some people suggest (also in the docs.) to set 0 for first flying…Don’t you think this will create problem, when we fly in FBWA mode and for some reason, our plane speed drop around stall speed…And our Quad motor will be too late to respond…
There is also parameter to avoid stall, so I set it to 1 (enable). How this work? How is the Algorithm ?

My Q_ASSIST_SPEED varies from plane to plane but it is usually based on being below the stall speed. On some planes, it can create havoc if it come on prematurely in forward flight just because the plane slowed down. This also changes whether or not you use an air speed sensor. Without and AS sensor, the GPS speed (or ground speed) is not always a beneficial reading. In general, I set the Q_ASSIST_SPEED low enough to trip only when the plane is in real trouble.

On my 2430mm Fighter VTOL, the Q_ASSIST_SPEED is set to 9 m/s. On my mini Talon VTOL, it is set to 14 m/s.

Setting your ARSPD_FBW_MIN to a few m/s above stall is a good idea but also depends upon your setup and how you fly. Since I usually keep my throttle at mid-stick position, I want the automatic throttle modes to keep this speed when I change from FBWA to CRUISE to LOITER, etc. I usually set my ARSPD_FBW_MAX speed to allow me to keep speed consistent. You can open or close this speed window based upon your preference.

Under normal circumstances, your Q_ASSIST_SPEED of 14 m/s should have been fine. I would base this on your previous successful flights in FBWA mode. What speed was your plane flying well at?

For some reason, you had no speed when you switched to FBWA mode and barely got above your Q_ASSIST_SPEED before switching to RTL. In hindsight, switching back to QLOITER would have preferred. On VTOLs, your emergency fallback mode is QSTABILIZE or QHOVER or QLOITER.

I can’t argue that point but it is recommended by the WiKi. The main idea is to not have all these features arbitrarily enabled on your initial test flights. You could set Q_ASSIST_SPEED to something low like 5 m/s. I also keep the previously tested QLOITER mode in my mind for a quick change to save a bad transition.

It is suggested that you do initial flights with Q_ASSIST_SPEED set to zero just to test the basic functionality and tune the airframe. Then try with Q_ASSIST_SPEED above plane stall speed if you want that functionality.

I also noticed that you had ARSPD_USE set to 0. While this is recommended for the initial test flights until you can test the AS calibration (which can be done after the maiden transition) it does open the door for some odd transitions at times.


If you are not using an airspeed sensor, airspeed will be determined by the synthetic airspeed generated internally as a backup in case of airspeed sensor failure. This estimate can be very inaccurate at times. You may want to consider not enabling Assisted Fixed Wing Flight if not using an airspeed sensor to prevent false activations when airspeed really is above the threshold, but is being misrepresented by the internal airspeed.

So there is a lot that can go wrong, even when you do things right and have a methodical approach to testing. I’ve had planes and VTOLs fly great for years and then decide it’s time to misbehave. It tends to happen when I become complacent and fail to expect the unexpected. We are always learning and sometimes re-learning. :grinning:


One of the key parameters on the Quadplane is this Q_ASSIST_SPEED (there are many other important parameters), beside the ALT_HOLD_RTL…

I am surprised with your MFE Fighter setting like this…With only 9m/s, don’t you have problem when flying FBWA mode? I believe that stall speed of this plane is more than 14m/s…(CMIW)…

Other iasue is about Airspeed sensor…Do you think without AS the quadplane will not good enough to do transition from Qloiter or Qhover to FBWA ?? My impression is you always use AS on your Quadplane… To be honest I prefer not to use AS if there is no issue at all…Why? Because I think AS is easy to be inaccurate or get error…I am worried if the AS become error or not accurate during flying…These two issues are my concern now…(I like to hear from you as you have built many Vtol Quadplane…, not only based on Wiki )…
Best regards,


The lower the Q_ASSIST_SPEED is set to, the less problems you have with it interfering with FBWA mode. When it stays on or comes on prematurely, that wreaks your forward flight efficiency. I tested my forward flight stall to be around 10 m/s…which is what the specification claims.

I have had some poor transitions both with and without an AS sensor on different planes. For the most part, things work better with an AS sensor on a VTOL as long as the sensor remains calibrated. One sensor that I never had to worry about was the Drotek SDP33 because it requires no calibration. For initial testing, having a calm day makes it easier.

On your flight, there were no FBWA transition messages in the log. This was not good. I suspect you were in some pseudo mode (or limbo) that just messed everything up. The final straw was changing to RTL mode with the climb to 100 meters. I have seen some crazy things happen when I try to exit a mode before it has properly entered the mode. I try to minimize trouble by always having a specific mode change scheduled and an emergency fall back. I works until I become complacent again.

I haven’t seen this issue. I have seen my stored calibration get messed up in between power cycles. Not sure what happened, maybe a flash read issue. I simply would disable the ARSPD_USE setting and run without it until I was in a mood to recalibrate it or copy the ARSPD_RATIO from a previous parameter save. In a pinch, you can usually set it to 2.0 on the old analog sensors like I use.

You don’t have to. I simply had too many VTOLs to buy AS sensors for them all. On the smaller ones, there often isn’t sufficient space. If it is a calm day, this nullifies the need for an AS sensor. On the bigger VTOLs and when flying in wind it is best to have one.


I am sorry that my assumption about your Fighter stall speed is wrong. But actually it is good that the stall speed is low, what is the total flying weight to achieve this 10m/s stall speed?

Let me thank again for all your patience and time sharing knowledge with me… I appreciate very much…I just read your new post about the new “mini Striver” , wow I like all those Rc Planes from MFE. They look beautiful…

I think have my conclusion about the crash: Human Error…I thought I have input 30m fot RTL altitude, But I don’t know, in fact it is 100m. …Very expensive lesson…I will never let it happen again… Everything should be double or triple check…May I know you email?

Hi Tony,

I can’t remember what my AUW is on the Fighter but it is posted in the Fighter thread. My setup is relatively light since I only use a single 6s 21AH pack. The payload is a tilt gimbal for the GoPro H7 camera using robot parts and a once waterproof case until I drilled holes in it. Here is a spec sheet.

No problem on kibitzing. I recently had a catastrophic crash and it often helps to talk about it. I seem to have one every year or two and it is often a “series of unfortunate events”. I just shake my head and move on. I’ll PM you my e-mail address.