Airmode is a feature in Betaflight which can be difficult to understand for beginners in the hobby. In this guide we will try to explain it in layman’s term and help you set it up in Betaflight.
Featured Image is from the movie E.T.
What is Airmode?
Without Airmode, normally when you lower your throttle stick all the way down, the motors on a quadcopter should either stop or all spin at the same speed (depends on how you set it up).
But when Airmode is enabled, it keeps PID loops active when your throttle stick is at zero, which allows the pilots to steer and control the quad even in a free fall. That enables pilots to pull off some crazy aerobatics, and have better control over the entire throttle range.
The Trick to Fly like there was Moon Gravity to No Gravity
Remember in the past when watching those top pilots doing inverted stalls, and it takes forever for them to recover, it feels almost like there was no gravity? I asked myself, do they live on the Moon?
The trick was, they lower throttle as close to min_throttle as possible (so the downward force is minimum when they are inverted), but they didn’t completely kill throttle so PID loop is still working to maintain the aircraft balance.
To avoid accidentally killing throttle and bring the copter into a free-falling rock, some pilots would disable motor_stop (so the motors still spins when you kill throttle), and possibly also assign a switch (aka idle-up switch) to maintain a throttle signal above min_throttle. That’s because PID algorithm would stop when throttle falls below min_throttle.
So why is Airmode Created?
Norbert, a friend of mine explains:
Boris has rewritten mixer logic, which wasn’t too much active at lower throttle ranges, because “we didn’t meant to fly at that range”.
“pid_at_min_throttle” enables the copter to continue process the PID algorithm even at minimum throttle. But pid_at_min_throttle only keeps P and D active, I is zero’ed, that’s why quads could tumble a little while dropping at zero throttle.
That’s why Airmode is introduced which replaced “pid_at_min_throttle“, and it keeps all P, I and D alive even when throttle command is 0.
The difference between Airmode and just disabling motor_stop is that, Airmode allows you to recover more smoothly as you still have control even at zero throttle.
Setting up and How to use Airmode
- First, flash the latest betaflight (2.1.5 or newer)
- In the Betaflight configurator, disable motor_stop, then in Mode Tab assign a switch to Airmode (or you can turn on the Airmode feature which will allow Airmode to stay on on the time)
Assigning Airmode switch – Do you use 2 switches or 1 switch?
In the official instruction, it’s suggested to use 2 separate switches for Arming and Airmode. Some say that because with Airmode enabled, your I term error in PID controller will keep increasing while it’s on the ground. The PID controller will try to correct this error, and eventually the quadcopter will just spool up and might go crazy.
However since then, Boris has implemented a safety feature to avoid “I term wind-up” on the ground. Airmode is only activated if throttle is above min_check for at least 1 sec AND roll or pitch is not centred.
Therefore it seems to be okay now to assign both ARM and Airmode on the same switch. Many people told me that they have been running that without any problems. I tried both, and couldn’t really tell the difference, maybe two switches are just for extra safety.
PID Values and TPA
Some people reported that it’s better to back down your PID a little when using Airmode, because of the more active mixer. Also Norbert told me that TPA is no longer required when Airmode is active.
Here is my first flight with Airmode enabled (very old video).
Tuning Airmode?
You don’t normally need to change anything related to airmode. Just enable it and fly.
However some really powerful quads might freak out taking off with Airmode enabled. To ensure reliable takeoff, set the start percentage to a value around your hover throttle value, e.g., for a quad that hovers on 20% throttle:
set airmode_start_throttle_percent = 20
If you are a racer and would like to hold angle on a starting block, set the air mode start percentage to a value a bit below hover point; in the above example, 10-15 would start airmode at a throttle value that wouldn’t make the quad take off.
31 comments
I am having an issue with certain quads, seems to be more with newer prebuilts. Hoping someone can help. For example: acro, stock PIDS out of the box nazgul5. When the quad is inverted it seems to keep self correcting back to level. It’s really frustrating in a power loop because it reverts itself. I have a sector5 4s which does the same thing. I was assuming this is an air mode motor idle value issue causing the problem. Or possibly the air mode throttle percent value. I have several diatone quads with stock BF setup and they float like they are weightless no matter the orientation of the quad. Same with emax. Any help would be much appreciated.
I know this is an extremely old comment, but I’m answering for someone else that may read this with the same issue —
It sounds like youre in horizon mode instead of acro mode, acro mode is what you want with freestyling, its the mode where the flight controller will happily fall into oblivion with the aircraft upside down. Horizon mode allows you to go inverted for brief moments, but it will snap you back to “level” after a second or two, as a training wheel for new pilots. Acro mode is the “default” in betaflight, so when youre setting up your mode sliders, you would want “nothing” selected for your “mode” switch position for your quad to go into air mode.
Hi Oscar,
i have set a value with the set command like you described above. Now i want to remove the value
set airmode_start_throttle_percent = 15
so airmode will kick in as soon as i flip my switch (programmed it to an aux)
is ther like a “unset” command or should i just use
set airmode_start_throttle_percent = 0
thanks in advance!
Hi Oscar
I have set up air mode on a betaflight quad but when I land most of the motors will cut out and will reboot when disarmed. It will also occasionally do it when doing fast flips, do you have any suggestions on a solution.
many thanks Oscar Bishton
Can AirMode always ON interfere with turtle mode? My experience has been if I’m flipped over and try to switch on turtle mode, once I arm with AirMode always ON – the motors will go almost full throttle. Is the recommendation not to turn AirMode always ON and instead have it a switch position opposite of turning on turtle mode?
If I enable air mode will the motors stop completly when fail safe kicks in? I know they dont on cleanflight 2.1 and betaflight 3.2. Would like to race with motors still spinning on 0 throttle but I have an aT9 transmitter which I have not figured out how to do this yet. Can’t get past inspection if they don’t stop completly. I have a fly color tower on cleanflight 2.1 and a lumineer f4 on lux osd.any answers that may help?
I would recommended activating air mode with a switch rather than a feature. Not saying one is better the other, it’s just that’s what I am using and I’ve never had problem with that.
Yes with this config airmode will stop when failsafe kick it (given that you have setup failsafe properly).
can you teach us how to set up anti-gravity ? can i set both as same switch? airmode and anti-gravity mode
Hi Oscar,
can you tell me, where/how I can change the value for “min_check”?
Thanks in advance for your help!!
Markus
you can do it in CLI
Hi Oscar, I think you didn’t mention it explicitly but I’m pretty sure that airmode also keeps some power going to the motors at zero throttle. This is obvious since otherwise having PID’s active would do no good, as the props power is the only way for the copter to influence its motion. But I wonder if everyone got that, hence my comment.
Is there a favorite pid controller when using airmode? Luxfloat?
no should work fine on both.
Hi Oscar
So it looks like the real challenge here is assigning the switches properly and making sure min throttle is at a reasonable range. Now can we please have a detailed video on how to do all of this properly. Especially those of us who stick arm. Thank you for all your great work.
Hi Oscar,
You typoed “swtich” a lot.
Do a ctrl-f “swtich” ;)
thanks :) not sure how i could misspell the same word 4 times haha
Hi Oscar,
Good to be understood about ” Air mode”. Thank you.
Oscar, I’m having a hard time getting the motors to arm by the stick command on betaflight, where it works fine on cleanflight. I’m a noob, and needing help. Any help would be great.
Hi Jason,
If you are arming with the stick, you might want to check to make sure that the range of low throttle and right yaw is calibrated correctly on your receiver tab in Cleanflight. You will know this if the top Yaw value is near 2000 and Throttle is near 1000. To ensure that it is working, you may also want to recalibrate the motors and disable motor_stop while testing with the flight battery connected (but be sure to remove your propellers first until it works as expected) Hopefully this helps.
Daryl
Hi Jason,
My problem might not have been the same as yours but I was having random problems with arming also when trying to use betaflight. Some times it would arm then after disarming would not arm again.
My problem was “processing power” of the board I was using, in my case a naze rev6. Using S-bus and smart port was just taking up to much cpu.
If you’re trying to use luxfloat try setting to rewrite instead and see if that helps out at all?
I’m no expert but it’s worth a shot.
Hi Oscar,
thank you again ! great explanation for noobs like me!
jerrod
Hi Oscar
actually it was created as an answer to the idle up switch that finalglide developed so that even bottoming out throttle stick, it was still outputting min_throttle. this was dont on a switch which would have to be disengaged if you still wanted to stick arm/disarm [or do other stick commands]
posted as a comment on joshua bardwell’s youtube channel by finalglide: “I remember when I first came up with my idle up technique idea in early 2014 and people said I was being silly. They started taking notice after a while though :)”
the airmode code itself was written by bdoiron74 5 months ago, seemingly dismissed originally. github.com/cleanflight/cleanflight/issues/1130
amazing how things happen sometimes.
Hi Oscar,
do you know anything about the compability of the different flight controllers with the airmode feature?
Why not just leave arm as a stick command as normal like left yaw?
if you do that… you won’t be able to control yaw at 0 throttle, because you could trigger disarm! :D
i should have included that in the post…
Hi Oscar.
It’s always a pleasure to read you !
I’m learning a lot with all your tutorials.
For example, this week end, I wanted to explain you in your discussion group what was the air mode (that I discovered last week), but I wasn’t able to make it run…and today, you gave me the solution in your blog : I didn’t disabled the motor stop…so my quad was falling every time at zero throttle.
So thanks for your help ;-)
LOL, that’s great :)
Hi Patrick, I have bound arm+airmode on the same switch. Just take off fast after arming, this way there shouldn’t be any problems with motors spooling up and going crazy. But the 3-pos switch sounds like a good idea too.
I originally started with Arm and Air Mode on a single 3-pos switch (up was disarm, middle was Arm, down was Arm + Air Mode), but I shut Air Mode off prior to landing and found it was easy to flip the 3-pos switch too far and accidentally disarm my quadcopter mid-air causing it to fall from the sky. I now have it on two separate switches.
Hi Patrick
Same here, arm switch is my throttle kill switch and air mode is a seperate.