THROTTLE LIMIT IN BETAFLIGHT 3.4 and Up: Longer battery life and cooler motors
Update: This is relevant for all versions of betaflight 3.4.0 and up.
One of the new "minor features" in betaflight that I'm very excited about is throttle limit. Previously throttle limit could only be done through your transmitter software and is a pig to set up and even if you could set up it is difficult to flick between option.
For the first time this can be set up in Betaflight with the release of 3.4.0. I'll cover only one type of throttle limit here that will most commonly be used and how to assign varying limits and rates to a transmitter switch. I've put this tutorial together because the throttle limit feature must be accessed through the command line interface (CLI) rather than the graphical user interface (GUI)
Firstly if you have played with rate profiles in betaflight before, this is what your the throttle limits are tied to. You can cycle through these with the betaflight OSD when disarmed or if you assign to switches you can change mid flight.
Why would I want to limit throttle?:
There are a few reasons that are all based around the fact that lmiting throttle will limit current drawn and so limit max RPM and thrust.
It's important to note that your flight controller still has full access to 100% of your throttle meaning that there will be overhead to speed up motors to perform maneouvres and corrections rather than slowing down saturated motors.
How do I do it?
First, choose the rate profile you'd like to limit throttle on, up to 6 are available in betaflight now but I only use 3 since I map to a 3 way switch on my transmitter. In the example below I have my 'race rates' on profile 1 and 2 which are identical and use profile 2 for limiting throttle. FYI profile 3 is my freestyle rates. Make sure you press 'save'.
Next go into the CLI mode. type or copy and paste as below:
set throttle_limit_type = scale
set throttle_limit_percent = 85
In this example the throttle _limit_type is scale where it creates a linnear throttle curve up to the throttle_limit_percent value. In this case the throttle will linnearly increase to 85% at max throttle on your transmitter.
If you wish to turn throttle limiting off again, use:
set throttle_limit_type = off
Lastly there is a second throttle limit type "clip" which simply makes the throttle stick have no impact over a set percentage. I think it will only be exceptional case where someone might use this, particularly playing practical jokes on your mates when you have access to their quad.
To confirm that your throttle limit settings have stuck you can see in you CLI "diff" as below:
As per the example I used, my rate profile 2 (shown here as rate profile 1 since betaflight uses n-1 naming) has throttle limiting as scale limited to 85% maximum.
Setting it to a switch
The real usefulness comes in when you set to a switch so I've taken a screen grab to best illustrate - click to embidden. In this same example
Flick the 3 way aux switch will have rate profile 1 in the 'up' positiion, 2 in the 'mid' position and 3 in the 'low' position. I use this across ALL of my brushless quads: 2", 2.5", 3", 4", 5", 6". Now that betaflight has 6 profiles you can get creative and map to a potentiometer or whatever else smokes your tyres.
In practice this works well for me on quads with older motors that either vibrate or prop/motor combinations that don't practically put out any more thrust after a certain amount of throttle, rather they just draw more current. I do really like the new filtering of the newly released 3.4.0 but for me throttle limiting is one of the most underated features in this release which I expect to see in all subsequent releases too.
The original betaflight throttle limit pull request can be found here:
11/7/2018 04:26:11 pm
Hey really enjoyed reading this article. I'll have to try this on betaflight 3.4 :p
11/7/2018 09:47:35 pm
Hey Paul glad you liked it, hope it is useful for you. I'm really enjoying the way 3.4 is flying in addition to the new features like this. Happy flying!
4/1/2019 08:06:08 am
Thank you, this was super useful!!
4/1/2019 10:59:08 pm
My pleasure :)
28/1/2020 05:59:36 pm
I set clip to 25 and scale to 50, yet my motors run at either a somewhat fast idle when armed or full speed under throttle stick control, but nothing in between. I can control motor speed from MOTOR tab of betaflight from barely turning (1024) to full speed. At 1008 motor turns a little then stops then turns a little. This us my first fpv, a tyro119 which seems to be capable of lifting a small child.
28/1/2020 10:25:13 pm
Are you finding the issue in actual flight or on the bench? Using throttle from your remote without props on the bench runs through airmode and PID loop on the bench but should fly fine. PS please don't lift your child or any other child ;)
29/1/2020 12:10:34 pm
It's my understanding that bench testing with no props will produce a gradual increase in motor speed, and mine is instant as if the throttle stick were a binary switch instead of a pot. If I increase the stick to full and then back to idle the motors remain racing. I did try flying once and with a small throttle it shot straight to the stars without passing GO, then fell like a brick when I reduced throttle below the level that casued high speed motors. It behaved the same as it did on the bench.
29/1/2020 05:17:56 pm
I reset my fc to defaults, which messed my my channel mapping. I changed mapping so that the 3-d image behaved as expected. Then reestablished my arming switch and first thing I noticed was that the idle was a more reasonable speed. And now the throttle stick controls the motors as expected. They slowly speed up. It flies, I need to find a big area. It's nothing like my Autel EVO.
25/11/2021 09:18:50 am
Really helpful. Thanks
29/11/2021 04:38:00 pm
My pleasure, glad to see this article is still of some use.
19/5/2022 07:49:50 pm
Just discovered this page, I thought this was an excellent article, clear and concise. I am going to try this with my Newbeedrone whoop.
3/8/2022 10:14:02 am
Thanks Ronnie, glad this is still getting some use
Leave a Reply.