When I first finished building an FPV quad, I tried to tune it.
How to tune FPV drone? I know that tuning is not easy to master because it is both objective and subjective.
I tried to contact some FPV brands and watch YouTube videos to hopefully help me, but to be honest, I still haven’t fully mastered it. However, I have a general idea of it, enough to make adjustments to make my plane fly a little better.
Hopefully what I’ve learned will help you get better at tuning your FPV drone.
Tuning an FPV drone involves changing the parameters of the flight controller software to make it fly the way we want it to. Not only PID gains, but also feedforward, filters, rates, expo, and other Betaflight variables affect flight characteristics.
Even for experienced pilots, the sheer number of choices can be daunting, but I think tweaking a few key variables, as detailed in this guide, should be enough to surprise you with how much better your drone flies.
Keep the following guidelines in mind when tuning:
- Always use brand-new propellers; with balanced and vibration-free propellers, you can get an incredible amount of performance out of the drone.
- Avoid hitting anything while tuning; this could ruin the props and the tune. Bent props? Change them.
- If you often fly with a GoPro, mount it while tuning.
- Never change settings drastically; always make incremental changes. To avoid confusion, change only one setting at a time.
- Check the motor temperature after landing.
Let’s understand the basics of PID before we start tuning the drone.
What is the PID
PID is one of the most sophisticated and widely used control algorithms for continuous systems.
image by wikipedia
When the external input changes, PID studies how to make the output of the system adjust quickly and well.
The P, I, and D represent proportional, integral, and derivative control strategies, respectively.
Explanation of PID
P = Proportional
What is a proportional? The “present” is proportional. What error data is happening right now.
P assesses the existing situation. and strives to update it with new information. recognizes the current problem and tries to help.
It has exactly the same characteristics as the spring.
Simply put, it measures the distance between the drone’s current position and the target position. The greater the distance, the more force is required to snap back.
The larger the P, the harder the “spring”, the faster the response, and the higher the vibration frequency.
If you only have a P value in your PID, the result is that the drone will continue to oscillate endlessly, and it is time to introduce a D value to eliminate the oscillation.
I = Integral
What is Integral? The “past” is Integral: What data errors have already happened.
“I” looks at past data. It observes what happened during a drone’s current movement and tries to correct it. A correction increases the level of the drone.
D = Derivative
What is Derivative?The “future” is derivative. It uses past and present information to predict what errors might occur in the future.
After examining past and present data, “D” analyzes and reacts to what it expects to happen next. D” checks to make sure the data is not overshooting, which would cause a peak to occur that is too high.
Think of it as throwing a vibrating object into a liquid.
The greater the D value, the greater the density of the liquid, and the greater the resistance of the “object” in motion, the faster it can come to rest.
So by adding a little D value, the amplitude produced by P will be smaller and the drone will stop at the target position faster.
On the other hand, if the D value is too large, this resistance will offset the return force and make the control very sluggish, and the whole movement will seem a little slow.
The drone will continue to detect if there is a deviation in position, and if the deviation is larger and lasts longer, it will generate more force to correct it.
In general, we can set the I-value higher, but it should be noted that too high an I-value can also generate oscillations.
Why Do We Need To Tune The PID For FPV Drones?
The presence of other variables, such as inertia, prevents the drone from staying at the target altitude quickly and accurately, which is why we need to tune the PID.
The main role of the PID in drone tuning is twofold:
- troubleshoot the drone (e.g. jitter, etc.)
- improve the performance of the drone, so that the drone response is more sensitive.
The first situation now basically does not appear, the general default PID can fly more stable.
So if you just started and do not understand the principle of PID beginners, adjusting the PID on their own is not recommended.
Once you have mastered the basic techniques and principles of flying and want to further optimize your feel, it’s time to start tweaking the PID.
This process can be painful and will require you to spend a lot of time tweaking, then practicing, then tweaking, then practicing …… until you find the feel you like best.
A Step-by-Step Guide
Guide From oscarliang
Step 1: Setup before you begin
-Remember to test and tune your quad in acro mode.
Finding the ideal set point for the average of the numbers interacting in the PID tune is the goal of a tune session. Your particular quad oscillations can be eliminated by a commonality shared by all data crunchers. Every quad is unique.
However, fly and bind quads often use the same PID numbers. That’s why people trade or beg for them online. However, things can change if you use different props, escs, add more weight, have a strong wind, or use motors. This is where people start to get frustrated.
-You’ll see a series of numbers that would confuse even the most knowledgeable person. Be prepared. For your first tuning session, we will make it as simple as possible.
Before you start playing with numbers. Make a desktop backup of your quad settings on your PC. That way, if you really screw up, you can restore your previous settings. Also make a screenshot of the most recent PIDs. Things should improve as you continue your tweaking process. if things get worse. You start over!
Step 2: Check the basic configuration
The best FC stacks for longevity and noise performance (vibration dampening) use rubber grommets, sometimes called “gums”.
Use metal screws for the FC stack; stay away from nylon/plastic screws, standoffs, and spacers because they are more likely to break and cause vibration. Use soft silicone spacers if you need them. Some grams can be saved by using titanium screws.
Before mounting the 4in1 ESC, lock the stack screws tightly with a metal nut. There is no need to install another nut if your frame already has pressed-in insert nuts. This way the stack screws won’t wiggle and cause vibrations. Tighten them by hand before giving them a final push with the wrench or screwdriver.
You can use four plastic nuts to secure the entire FC stack. Tighten the nuts by hand to make sure the gummies don’t get crushed and the soft mount works properly.
Apply the following settings before you begin.
- Disable the ADC filter in your OpenTX/EdgeTX radio (System->Hardware). This will reduce the delay.
Enable the RPM filter; it’s probably the best in Betaflight.
Almost all modern ESCs support it. If you have a BLHeli_S ESC, you will need to flash the Bluejay firmware before your BLHeli_32 ESC will work out of the box.
For BLHeli_32 ESC:
Motor timing 16
Low “16KHz” (or whatever the lowest)
Boost “By RPM” or fix both settings. 48KHz is smoother, while 24KHz is better for prop wash control, but “By RPM” gives the best of both worlds.
Just keep the default BLHeli_S ESC settings. Try flashing Bluejay 24KHz for 5′′ quads, which is better for controlling prop wash. For smoothness and efficiency, 48KHz is preferable, especially for small drones.
Flash the latest Betaflight firmware (currently version 4.4.1) to your flight controller, keeping the default PID/filter settings. To access all the sliders and settings on the PID Tuning screen, enable expert mode in the Betaflight Configurator.
Use the DShot300 ESC protocol and 4KHz PID loop frequency (Configuration page and Motor page). Disable any Configuration settings that you may not need, such as Barometer, LED_Strip, Soft Serial, etc.
Select the appropriate RC_Link setting.
There are many high-speed radio links on the market. They offer different packet speeds and require different RC smoothing settings to avoid feedforward problems. Check out my radio equipment here. ExpressLRS is now my preferred RC link.
Betaflight will automatically apply all the necessary configurations for you when you load the appropriate RC_Link preset. Remember that there are more settings to select before loading the preset, especially the flying style, which for most people will be Freestyle.
Set the packet rate in the module to either 50Hz (for greater range) or 150Hz (for reduced latency) if you’re using Crossfire.
Step 3 – Filters
The best place to start is to use Blackbox logs to properly tune filters.
Test fly the drone by cruising around and looking for any mechanical problems before making any filter adjustments.
Since Betaflight’s default settings are often conservative, your quad should already be cruising quite smoothly. Check for any vibrations and listen for any roughness in the motor sound, which may indicate mechanical problems with the motors, frame, flight controller mount, or propellers.
Continue if all is well.
The goal is to remove as much filtering as possible to reduce latency without damaging the motors or driving the quad crazy. However, it’s perfectly fine to leave the filter settings alone and proceed to the next step if you want to be cautious.
First, try turning off Gyro Lowpass 1. Normally you would only need to do this if your quad has serious mechanical problems, such as a damaged engine bearing, or if it is in poor condition.
Test fly for about 30 seconds, perform some acrobatic maneuvers, and punch out to see if the engines warm up.
Move the Gyro Filtering slider up one step at a time (less filtering) if the motors are cool.
Make sure the engines are not overheating by doing some full throttle punch-outs and acro maneuvers for an additional 20 to 30 seconds during the test flight.
If you don’t have enough filtration, you will hear grinding noises while hovering or even as soon as you arm the quad. Pay particular attention to the sound of the engine. In addition, observe whether the flight performance improves or deteriorates as you move the filter slider up; occasionally, insufficient filtering actually makes the drone fly worse.
Don’t be shocked if you end up with the Gyro Filtering slider all the way up to 2.0 on a clean build. However, depending on how clean your build is, you may not be able to move it up at all.
Gyro Lowpass 2 is a powerful anti-aliasing filter, so if you’re using 4K PID looptime, DON’T disable it. A 500Hz PT1 Lowpass 2 gyro filter is very necessary for 2K PID looptime. Gyro Lowpass 1 should not be used, and only a 500Hz-1000Hz Gyro Lowpass 2 filter will work perfectly for most clean 4K quads. Gyro Lowpass 2 can be turned off without concern for aliasing, as 8K PID loops have no aliasing issues.
After fine-tuning the gyro filter, you can adjust the D-term filter slider, but I would not recommend doing so unless you are using Blackbox for accurate noise analysis.
Step 4 – Finding P/D Balance
Tuning is much easier with the PID slider concept in the new Betaflight Configurator.
By removing feedforward, dynamic damping, and I term, you can isolate the P and D gains before tuning the PID. To do this,
- Stick Response should be set to 0 (Feedforward is no longer operational).
- Dynamic Damping should be set to 0 (D gain remains constant).
- Set I gain to 0 by setting Drift Wobble to 0.
- Disable I Term Relax and Anti Gravity.
Essentially, P gain helps maintain the drone’s ability to follow the stick; a good amount of P gain will make the drone seem responsive; and D gain acts as a damper on the drone’s motion.
If you notice or hear overshoot during flips and rolls, move the Damping slider (which only modifies D Gain) back up a few notches.
This will establish the ideal P/D ratio that should not be changed. This means that if you change one number, you must also change the other number.
Move the Pitch Damping slider up if you see overshoot in pitch but not roll.
Step 5 – Maximizing PID Gains
FPV drones often have the best setpoint tracking, the most direct feel, and the largest PID gains.
Simply advance the Master Multiplier slider one click at a time to optimize the PID gains.
All gains are increased while maintaining their relative proportions. In between changes, test fly your quad for about 30 seconds while doing some acrobatic maneuvers and measure the engine temperature. Your quad should feel more engaged, respond more quickly to your controls, and handle prop wash more effectively with this change.
However, you can only push the D-gain so far before you run into problems. A double-edged sword, D gain dampens the quad’s motion while increasing vibration.
You should retreat if any of the following occurs:
When arming or flying, you’ll notice the motors getting hot and making strange grinding noises or high-pitched, exhilarating vibrations.
It’s no joke that if you push D-Gain too hard, the quad may go crazy and shoot up as soon as you arm. When pushing D Gain, get far away from the quad.
It’s a good idea to keep D low to have some headroom if you’re not flying with fresh props all the time.
Step 6 – Finding I Gain
While the I term is being reintroduced into the PID, the quad may overshoot again while performing flips and rolls. Don’t panic; this is very natural. Later we can use I Term Relax to correct this. The ideal I gain is slightly different for low and high P increases, so we modify the I gain after we have maxed out the P and D gain.
Reset the Drift Wobble control to 1.
Especially for strong 5′′ quads, the I term has a REALLY wide tuning window, making it a bit difficult for newbies to determine what the ideal value should be. Most of the time, Betaflight’s default I-gain falls within this range and is sufficient.
With that said, feel free to experiment with I gain. Your I-gain will be satisfactory as long as you don’t drift and have stable horizontal descents.
Your quad will feel loose and drifty if the I-Term is too low, the wind will push it around, it won’t hold attitude very well, and the pilot will have to adjust it frequently. You just experienced this when the I-Term slider was all the way to the left.
However, excessive I gain will also cause overshoot and oscillation, just like excessive P gain, but the overshoot or oscillation will be much slower. You will experience oscillation due to I gain overshoot when you punch out, let off the throttle, and descend horizontally.
If the P gain is too low, you may also experience overshoot on flips and slight wobble on descents. If you can’t completely eliminate the wobble and overshoot, don’t panic; just try to minimize it as much as you can with decent I terms without feeling sleepy. We’ll correct it later with relaxed I-terms.
While freestylers may like the looser feel of lower gain, racers may prefer higher gain for tighter control.
Step 7 – Anti Gravity and I Term Relax
Enable I Term Relax and Anti Gravity.
Higher P gain should help if the drone’s nose drops when you move the throttle quickly. If you can’t increase P and D any further, you can help yourself by turning on Anti Gravity (AG). When the throttle is moved quickly, the P and I gains are briefly increased to increase stability.
The default AG gain is set at 3.5; you may want to increase it slightly to reduce nose dip. For most of my setups, 4 to 6 usually works; just be sure to adjust the gain value very carefully after thorough testing.
Turning on I Term Relax should largely solve the problem if you still have delayed bounceback on flips and rolls after I gain has been restored. Try lowering the cutoff (e.g. from 15 to 10), as a lower number suggests more suppression of the I term during acro moves when bounceback is improved but not completely gone. For racing, 30 to 40 is ideal; 15 for freestyle; and for big, heavy quads, 10 or even lower.
Step 8 – Tuning Feedforward
Stick Response slider up.
Feedforward makes your quad react faster and seem more responsive, but too much of it can make it jerky. With the exception of a little overshoot on flips and rolls, this is something you can really turn up without getting into trouble.
Just keep turning it up until you get no bounce. Don’t be shocked when you hit your maximum, because sometimes there is no bounce. I could go higher without bounceback, but sometimes it seems too jerky, so I usually end up at 1.0 to 1.5.
Step 9 – Enabling Dynamic Damping
Dynamic Damping slider should be set back to 1.
Check engine temperature after 30 seconds of intensive flight. Turn the slider down if the motors make strange noises or get hotter than before.
When making sharp stick movements for better prop wash management, Dynamic Damping will increase D gain (to Max_D value), but when the quad is just cruising, it will remain low (at Derivative value) to keep the motors cool.
Step 10 – Tuning Rates and Expo
Rate and Expo determine how responsive your drone is to stick input and how fast it rotates when the stick is fully extended.
Start with the default Betaflight Rate settings.
The first step is to set RC Rate to your desired maximum angular velocity at full stick deflection. For me, the freestyle and racing ranges should be between 600 and 700.
Since the sensitivity around the center stick also increases linearly with increasing RC Rate, you may notice that it becomes more jittery. If so, all you need to do is increase the exposure to reduce the slope around the center stick to your preferred level. Using a little more Expo can definitely help you fly more smoothly if you are flying in a dramatic manner.
You can decrease Super Rate to increase sensitivity around the center stick if you feel that area is not responsive enough.
However, this also reduces the maximum angular velocity at full stick, so you will need to increase RC Rate to compensate. Try a lower Super Rate and a higher RC Rate, as racers may want a more linear and predictable stick response over a wider range of stick movement.
Since all three variables affect each other, it’s essentially a matter of finding a balance between them. To make things easier, some people choose to set all three axes to the same values, but you can also set them to different values. It is all up to you.
Step 11 – Other Settings
Dynamic Idle Value 30-35
Stability is improved by Dynamic Idle. The PID controller’s control authority and responsiveness at low throttle inputs are improved by increasing the motor speed while the throttle is at zero. Other benefits include more efficient braking, faster flip and roll stops, and responsiveness at low power.
Static Motor Idle (in%) on the Motors tab is disabled when Dynamic Idle is selected.
To configure Dynamic Idle, you need to：
- In the Motor tab, enable bidirectional DShot (if the RPM filter is already enabled, you are ready to go).
- In the PID Tuning page, enter an appropriate Idle RPM setting (3000-3500 RPM for 5′′).
Propeller size and pitch have a significant effect on the suggested Idle RPM; smaller and lower pitched propellers often require a higher value. This can often be adjusted to 20-40 for 5′′ drones and 33-66 for 3′′ drones. You can also increase this to counter the wind.
If you drop the drone upside down with too high a value, the motors will push the drone more towards the ground, reducing the hang time. A high value will also often cause the quad to “hover” a bit more even at zero speed, making throttle control a bit more difficult. You run the risk of low throttle instability if the value is too low.
You can test your motor under the Motor tab to determine the value, which is based on the ESC idle you had before (the default is 5.5%). If necessary, you can use a smoke stopper or a bench power supply to reduce the current if it gets out of control.
To monitor the reported RPM value, you must enable bi-directional DShot. Spin the motor at the ESC idle setting, for example 5.5%, then move the slider to about 1055. Then divide this RPM number by 100 to get the corresponding dynamic idle value.
The default number of 5 will work for most freestyle setups. If you move the throttle stick up abruptly to give yourself more power, the throttle value will increase, giving you an extra burst of power, but also making your throttle more unpredictable. Gently moving the throttle stick has little effect.
The throttle can be reduced if you find it difficult to control. I’ve known some racers to stop the throttle boost altogether by setting it to 0. If smaller values don’t work for you, try larger values.
Thrust linearization should be enabled and set to 20%.
This will increase the PID at low throttle to improve responsiveness and control authority, and decrease the PID at maximum throttle to minimize oscillation. It can reduce nosebleeds. This is highly recommended if your ESC uses 48 KHz PWM frequency and you have whoops. If TPA is not enough to handle excessive throttle oscillations, it is also helpful.
If the motors are getting warm, you may want to lower the master multiplier slider a notch or two, as this will reinforce the PID at low throttle.
How do I know when to adjust my drone?
In case of overshoot, it is necessary to adjust. That annoying drone is the result of an overshoot. Your props occasionally oscillate, you can hear it. occasionally spool up. Or maybe after a collision and your prop is bent.
The additional forces from the bent prop that are introduced into the PID loop’s setpoints cause the PID process to malfunction. Basically, it says, “Hey! That bothers me, and I fight harder to change it. So there is overshoot, which causes unpleasant vibrations.
After a collision or vibration, these are the first physical objects to examine:
– Bent propellers.
– Missing nuts or bolts.
– A loose quad arm or frame member.
– The wrong version of the ESC firmware is set. must be updated.
– A center of gravity (CG) that is off-axis. Or is it a camera?
– Missing standoffs.
– Flight controller that is unstable or moving.
– Unstable motor.
– Unstable propeller.
– Prop not secured tightly enough. spinning erratically.
– Grass, hair, or dirt in engine.
– A stuck motor.
– A motor magnet with hardware or a bolt attached.
– A motor base bolt has been screwed in too deeply. copper coils by hand. Bad !!!!
– Unsecured fpv camera.
– An excess of wind. A quad’s song may be affected by stronger winds. Etc. Many things can happen.
Using a Blackbox for Tuning
Using the Blackbox tool in Cleanflight/Betaflight to tune your drone is a more complex aspect of tuning. You can log the flight data into a file and access it through Cleanflight’s Blackbox Explorer if you have a flash memory chip (either independent or built into your flight controller). Of course, it will appear as a collection of squiggly lines if you have no idea what you are looking at. Going through some of Joshua Bardwell’s many blackbox analyses on his channel will give you a pretty good idea of what to look for.
It takes time to become proficient at tuning PIDs. Betaflight allows you to take shortcuts and get pretty good flying with just the default settings, but tweaking is what makes your copter fly exactly how you want it to. You’ll never want to fly a stock quadcopter again after using a tweaked one!
These are some of the resources I used during my study and found most helpful. There are undoubtedly many more; if you know of any, please let me know in the comments and I’ll be happy to include them.