This is not a joke, there is a “Moron Threshold” setting in Betaflight CLI. In this post we will take a look at what it does.
Update (June 2018): In Betaflight 3.4, “Moron Threshold” has been renamed to “gyro_calib_noise_limit”. Different name, but still does the same thing.
What does “Moron Threshold” do?
Moron threshold is to postpone Gyro calibration when powering on if the quad is moving too much. According to the Betaflight Wiki:
When powering up, gyro bias is calculated. If the model is shaking/moving during this initial calibration, offsets are calculated incorrectly, and could lead to poor flying performance. This threshold means how much average gyro reading could differ before re-calibration is triggered.
For those who like to plug in the battery, then immediately grab their quad and shake it, I am not saying your are a moron, but you do need to increase your moron threshold :)
For ordinary people, your should not need to worry about it, just leave it at default.
There have been rumours that the name might change in the future in Betaflight. I hope that’s not true!
Can’t Arm Your Quad?
Sometimes you might not be able to arm your quad, and increasing moron threshold can actually help. (try 100-120)
But there are a lot of reasons for arming to be disabled, check out our troubleshooting guide.
The Origin of Moron Threshold?
Moron Threshold can be traced all the way back to Baseflight. It’s one of the very few settings that gets to keep its original name in Cleanflight and Betaflight.
It’s pretty obvious for anyone who has been in the hobby long enough to hear about Baseflight’s coder, Timecop, who can come up with a funny name like this :) Anyway, I enjoy the humour in this. It makes me smile every time I scroll through 500 lines of boring CLI code.
14 comments
Hi Oscar and the others!
I have this issue for a while, finally googled it and i think i’m at the right place! :D
I only have the issue when i plug in and also fly from my hands or in a moving car, which is not that often, but happened a few times. (also planning to take off from a paraglider from the passenger seat for which i may would like to drop the quad BEFORE arming)
I’ll play with this moron setup, but can I be sure that the quad will arm once i drop it? Once the FC red LED blinking has stopped am I ok to drop it?
Or shoud I rather complitely disable accelerometer? Maybe put ‘accelerometer off’ on a switch? I like to use horizon mode for tight line of sight landing or for handcatch. So I need the accelerometer to be reliably precise in terms of horizon.
Is there an option to let the quad do the calibration whenever it’s stable and not moving, but after 5-10 seconds if it can not calibrate succesfully just stop trying and let me fly?
Moron Threshold has been renamed to gyro_calib_noise_limit.
Also make sure you set “arming angle” to 180 in the configuration tab.
You should definitely test this thoroughly by dropping your quad from like a 1st floor to the ground (on a cushion so you don’t break the quad if it doesn’t arm). Maybe attach it on a string or something so you can lower it even slower by another person so you have enough time to arm it.
Hi if we set the gyro calib to 200. Is there any issue for FC. Will this be a permanent solution for the issue?
This setting is actually EXTREMELY important for me – I fly betaflight quads off boats, and without raising this value I can’t arm at sea, where the boat is always moving. I’m glad I found this post to tell me about the renaming or I would have struggled to find it (I always liked moron threshold personally!)
Thanks!
I am always getting the calib error. I already set gyro_calib_noise_limit = 200 and installed low esr capacitors to all escs and the battery lead. I am using the Omnibus F4 Corner Pro Flight Controller. Everything else works just fine. I dont get it -.-
Just wanted to chime in myself: I’ve been having a similar issue as described by Slava Chrome on my XJB-145. First battery, quad arms and no problems. But even if I don’t crash, the second battery won’t arm. I wait….and wait…hoping that the “Calib” error (which means that the accel/gyro? is still calibrating and we are supposed to wait?), but nothing. even after several minutes.
Came home, did some research. Plugged quad into Betaflight, changed moron_threshold to 120 (picked it out of the air), and voila! Problem just went away.
Thanks to all that contribute to this hobby to help make these kinds of problems easier to resolve.
There was an issue I found with my F4 flight controller. On 8khz gyro setting the threshold at default worked fine. But when I switched it to 32kHz mode, it would not initialize in the same amount of time. I had to go to the maximum in order for it to initialize as it should.
I had problems with my old F3 board after 3,2 update.
First battery okay.
But after few crashes and second battery don’t let to calibrate.
So I need to left quad untouched for 5-10 minutes and then it let to fly next.
I set moron_treshold to 110 and now it calibrates every battery after crashes without any problem.
haha I was wondering what that was lol
There have been several reports (one from Eric Konasty) in which increasing the moron threshold to 100 or so solved FC initialization issue. Just FYI
Yea I’ve heard that too, fortunately i haven’t had to do that yet personally :)
That’s GOLD Oscar……..
So funny!
Thanks for sharing :-)
So how much time does one have from when the connection to the battery is made and when the quad starts to initialize and calibrate? I plug in my battery and move as quickly as I can to place the quad on a flat non-moving surface, but I always feel like it has already started to initialize before I can set it down.
Gyro calibration should complete within a couple of seconds after powering on and stopped being moved. If you keep shaking the quad, it will never finish calibration. :)