EKF Check: Bad Variance Detected


I calibrated my navio2 and performed two flight tests which finished with crashing.
I analyze the file logs as follow. In both situation the error that preceded the crash with
EKF Check: Bad Variance Detected

In the first flight, I sent the GUIDED mode and using QGroundControl with Telemetry, the drone took off and then it move into an unexpected direction and position quite fast, and then crashed at the same time I sent a LAND command to the drone.
This is the log file for this flight

In the second flight, I used the RC to take off in ALT-HOLD mode, then switched to LOITER, and the drone was maintaining well its position and altitude for a few seconds.
Then, when I sent a LAND command, I got exactly the same error EKF Check: Bad Variance Detected as depicted in the following log

The drone crashed and one frame was broken.
I could not understand the reason of the problem because I made all calibration carefully before I made the flight test, and with remote control, I did not noticed any problem, only when I issue the LAND command.

Any help on this worrying matter?


can you upload the whole logfile from navio/rpi?
do you have a protective foam on the baro?

The log files are available here (2 log files: 26.zip is for the first flight, and 27 for the second).

I did not use a foam. This is my navio2 setup

Barometers are very sensitive to UV light and air streams, covering barometer (usually with an open cell foam) is a must.

I would also recommend to put GNSS antenna higher (e.g. on a mast).

I will try to cover the baro with a foam and try again.
But, is this really the problem based on the log files?

Also, it would have been appreciate if EMLID provides a box and baro cover with navio2.

what kind of battery are u using? i assume 3s? if your power module is correct, there is a significant voltage drop which could explain the sudden descent;
whats the weight of your frame and what motors do you use?


Thanks for the feedback.

I am using 3S battery and are fully charged when starting the flight.
May be battery parameters are not appropriately set, but for sure the batteries were fully charged.

I am using Multistar Elite 2216 920KV Multirotor, and the frame q450 quadcopter frame.

I was guessing that this might be due to high variance of the altitude estimated by the Barometer and that estimated by the GPS. If you see the plot, you can see the difference as illustrated here:

Because the error is about high EKF variance and this might be due to inconsistency of altitude provided by the Baro and that by the GPS. It is to be noted that I did not put a foam on the Baro and was exposed to sum light.
Does my analysis make some sense?

Any hint will be helpful.

it’s hard for me to analyze logs if i don’t know what happened exactly, but your barometer definitely gave bad values; your imu also shows strange values, either from vibrations or they are only related to your barometer problems;
even if you think capacity and c-rate of your lipo are ok i would use one of these cheap lipo voltage buzzers to check that the voltage doesn’t drop too low…

Thank you.
I think the problem definitely comes from the baro.
It was exposed to sun light and air stream and this should have affected its performance.
I will redo experiments with a foam on top of baro and see what happens.


It looks like your Navio2 board is not mounted correctly. You did not screw it to the RPi. I can see 3 of the 4 mounting holes. 2 are empty and one has a threaded shaft of some kind sticking through, but no nut or anything. This will cause unreliable connection between the Navio and RPi, even more so as the RPi seems to be hardmounted to the frame. I wonder how you even got the copter of the ground like this.

P.S.: after a closer look at your pictures, the RPi is also loose at at least one corner.
Revise your whole mounting. Screw RPi and Navio2 together with the provided hardware and then think about how to fix the package to your frame. Some kind of antivibration mount is advised. As a quick solution use blocks of thick (foamy) doublesided tape to fix the bottom plate of your RPi case to your frame.