STABILIZE mode failed to level the craft and then RTL caused a fly-away and crash

I have a small drone with Matek F405-STD flight controller and Beitian BN-880 GPS/compass.

I was playing with my small drone, doing climbs then throttle cuts, before increasing the throttle again after the drone had reached a lower altitude for the purpose of amusement. The final time I did this on this flight, increasing the throttle with no pitch/roll inputs did not cause the drone to level out and stabilise.

In actuality, the drone started flying away from me and was definitely not becoming level. At this stage I realised I had a problem on my hands and changed mode to RTL so that the drone would safely return home.

It did not. Changing to RTL caused the drone to fly away even faster until it crashed. Thankfully no harm was done but this incident has shaken my entire faith in Arducopter and the Matek flight controller. I have never seen this behaviour before in several years. I have no idea how this could go so wrong.

The log:

This image shows what happened to velocity the final time I increased the throttle to recover and what happened after RTL:

I’d greatly appreciate any ideas or input as to what happened. I was extremely lucky that the fly-away caused no harm and I absolutely do not want to have this happen again. Thanks.

Massive position innovation likely caused by high levels of vibration:

You were ok in manual modes, but the EKF was never very happy

1 Like

I have never had problems entering RTL mode before, although in the past I entered it from a low speed.

The vibe measurements all seem fine to me because here:
it says “Check the recorded Vibe levels are mostly below 30m/s/s”

Clearly you are much more experienced than me so I ask, why do you define a lower level of vibration to be unsafe than the link above?

BTW, I tuned the notch filter a few months ago and went from this:

to this:

I suppose “vibe” is different to “ACC” though?

Also, I googled “IPD” but there’s not a lot out there. Please could you suggest a maximum level I aim for?

I currently have these relatively stiff vibration mounts for the FC:


but am going to change to these with my fingers crossed:


All said, there seems to be something very very wrong if the drone is flying away from the home position at maximum speed which is what happened. It is worrying that the drone can fly so well for months then go crazy. :-S

Sorry for the long reply and many thanks for yours.

If you graph VIBEs in Mission Planner, anything above about 15 is getting into the grey area of “this can go either way” and up around 30 is definitely going to give you problems at some point.
10 and below is good, and can sometimes be difficult to achieve for some builds.

1 Like

Did the Vibration Compensation failsafe trigger before? That’s why it seemed to lose control. Because this happens:

  • Altitude controller switches to a more vibration resistant two-stage controller (position->velocity) instead of the regular three-stage controller (i.e. position->velocity->acceleration)
  • The vehicle will not change mode but its altitude hold will be less accurate than normal. The vehicle may overshoot it’s altitude targets and/or respond more slowly to pilot input.
1 Like

I just checked 10 or so previous flights and Vibration Compensation never occurred during a flight, only after a different crash into a tree caused by user error.

Is it possible to disable Vibration Compensation? It seems to be the cause of this crash and I’d rather my drone didn’t fly away at full speed again.

(BTW, the reason I didn’t hit motor emergency stop is because I thought the drone was returning home - hard to tell the drone’s direction when it is a hundred metres away and I was not doing FPV)

You can disable it (FS_VIBE_ENABLE) but it’s not recommended. It’s there to actually prevent a flyaway if the EKF state is bad which yours was. The Position Down Innovations that Andy graphed should be <1 and you have huge peaks during that flight.

Understood about not hitting E-stop. I probably would not have either.

1 Like

@arduouspilot just bringing new ideas to the discussion… but maybe this crash into a tree led to a mechanical issue in your frame or your FC mounting… a latent failure that could lead later to your fly-away incident… just thinking out loud.


Thanks. At this point I’m very tempted to disable FS_VIBE_ENABLE. I’d prefer a crash to a maximum speed fly-away.
Still, I think first point is to mount the FC on more wobbly rubber feet than the stiff ones it has now. I now know that need to get VIBE down.

That is a reasonable point, however the VIBE/IPD values are the same as they have always been. I looked at the first post notch filter tuning flight log and see that they are in the 30s there as well.

FWIW, here is a photo of the FC mounting on top of the drone:

1 Like

I would replace those grommets with softer ones as you suggest. On one of my craft with a Matek mini board I stacked 2 of them. The ones that came with the 4in1 on top of the FC supplied ones. This very compliant mount works great. Everything gets easier with low vibe levels.

I have yet to see a vibe mount strategy I have used to be too compliant. On a 4” that does 30m/s auto mission runs on rails it’s mount is very soft.


Now that is a good idea. Double the grommets means half the effective stiffness.

Alas I don’t have that many black grommets. I ordered soft silicone blue ones and will post VIBE results when they arrive.

1 Like

On my critical 3" quad, i have use rubber stand off AND rubber ring like this everywhere

1 Like

Here is an update. I have replaced the vibration mounts with softer ones, and used silicone wires instead of stiff PE (?) wires:

Here is a graph of VIBE:

What is the opinion of the experts of this graph?

The drone still twitches like it did before and does not seem to be “on rails”. This short video shows the drone in a slight breeze in LOITER mode. I am unhappy about the way it twitches. :frowning:

I have the log of this flight here in case it is of use:

Many thanks once again.

Is that twitching while using firmware version 4.3 ?

1 Like

Yes. It is version 4.3.0.

But I had the twitching before with 4.2.x.

Vibes look nice and low, a good base to build a tune on. PID’s are at default so move along to tuning. On that size craft you will be lowering the Rate P&I’s and increasing (significantly) the Angle Pitch and Roll. Auto Tune may do the job. As is now standard set INS_ACCEL_FILTER to 10Hz before proceeding.

If it was on 4S power i would suggest checking out Andy’s 5” build blog, but 3S will be different.


I should point out that the VIBE graph I just posted is in the hover.

The VIBE graph further up this post is from a flight doing high power STABILIZE mode manoeuvres so I don’t think they are comparable.

But hopefully, like you say, the VIBE is low enough to do tuning.

Okay, I have tuned the notch filter. It went from this:

To this:

INS_ACCEL_FILTER was set to 20Hz so I set to 10Hz but it made the drone more unstable (more twitching) and that was not tunable. I also tried 10, 30 and 40Hz but none noticeably improved stability.

While INC_ACCEL_FILTER was 20Hz, I followed the initial tuning instructions and reduced these values:


by 50% each flight in order to get rid of oscillations. By the way, there aren’t really any oscillations, only random perturbations. Oscillations I have always considered to mean sinusoidal-type movements.
Anyway, I found that reducing these parameters made the drone increasingly difficult to fly in STABILIZE mode until it was unflyable.

I am at a loose end as whatever I do, the drone wobbles randomly. I even tried reducing INS_GYRO_FILTER and also increasing it to no avail.

Any ideas what to try next? Do I have a dodgy flight controller? Should I try adding mass to the flight controller to reduce vibrations?

Post the log from the last flight you made.

1 Like