There is so much new stuff to learn in Betaflight 3.4, I am sure it’s a bit overwhelming for a lot of people! In this tutorial I will try to explain how I tune my quad with the latest Betaflight firmware in the simplest way possible.
A lot have changed in the latest Betaflight, and you should “re-tune” your quad for the best possible performance. This guide has been updated for Betaflight 3.5.
The official tuning guide for Betaflight 3.4 is a bit daunting but definitely worth a read if you have time. It also explains the new changes in Betaflight 3.4: https://github.com/betaflight/betaflight/wiki/Tuning-Tips-for-Betaflight-3.4
Check out this article to see what Feed-Forward does. Here is how you tune it:
If you want sharper response and more control, increase F gain. If you want smoother stop of a flip and less prop wash, increase D gain. If you have oscillation on Yaw axis, you can try higher F and I values, then drop P to maintain the responsiveness while keeping oscillations caused by P gain to a minimum.
set iterm_relax = RP
Apparently not only too much P and D can cause bounce-back, I gain can too! By enabling “I-term relax”, It can reduce bounce-back at the end of flips or rolls.
“I-term relax” also allows you to increase I term by 50% or more makes your quad fly more “locked in” in extreme conditions without feeling too “stiff”.
Increase I gain by 50% from BF 3.3
With “Throttle Boost”, when you move your throttle rapidly, Betaflight will spin up or slow down the motors faster than before. This makes an unresponsive or heavy quad a lot more responsive, and feel more like a smaller/lighter quad.
Throttle Boost is a bit like a dynamic throttle curve, it only works with rapid throttle movement, and has no effect when you change throttle slowly.
If you are using RC smoothing filter, “Throttle Boost” can also cancel out some of the latency caused by that.
set throttle_boost = 10
Make some rapid throttle movements when tuning this value. You want to land on a number where you get very responsive throttle without surging, overshoot and feeling over-sensitive.
Heavier quads, and quads with weak motors need higher Throttle Boost value. On my freestyle quad (weighs 550g+ with gopro and lipo), I have it at 15.
RC signal gets updated regularly, if you look at blackbox log you will find “stepping” in the original RC signal. Stepping in the RC signal results in rougher running motors.
RC Smoothing filter can smooth out these stepping. It can even reduce spikes and sharp edges from rapid stick inputs, your motors will run smoother and cooler.
Previously we used a method called “Interpolation”, but it has relatively high latency. In Betaflight 3.4, we are given a new method called “Filter” which has less smoothing, but also less latency. The benefit is that the aircraft feels more responsive and connected to your sticks.
Having said that, you may or may not feel the difference, but less delay is always a good thing.
set rc_smoothing_type = FILTER set rc_interp = AUTO set rc_interp_ch = RPYT
If you notice a change in rapid stick response, consider adjusting “setpoint weight”, “throttle boost” and P gain to compensate.
Adjust setpoint weight, throttle boost, P gain
This allows faster channel update by not sending the 9th to 16th channels (9ms vs. 18ms), and this fixes all the problems with RC smoothing filters. The only downside is that you can use only 8 channels, but that shouldn’t be a big problem for most racers and freestyle pilots.
The default PID values in BF3.4 are too low for all of my builds, especially D gain. They work okay built feel a bit sloppy, so I had to increase them quite a bit.
You may copy PID from the previous BF version. The wiki tuning guide suggests to increase P, I and D values by up to 20% from your previous tune to match the same level of responsiveness.
If you want to try tuning PID from scratch, check out my PID tuning tutorial.
There are now 4 low pass filters, 2 for Gyro and 2 for D term. These are all enabled by default. All of them are using PT1 and the new “dual filters” seems to work pretty well, so you only need to play with the filtering frequency depending on the setup and condition.
The lower the number, the higher level of filtering and latency. Lower filter frequency if you have oscillation or hot motors. You can turn the filters off by setting them to 0 (zero), don’t do this unless you know what you are doing.
When it comes to filters, it can get complicated. Not everyone has the time to play with blackbox and filters. If so just try the suggestions from the Betaflight Wiki.
set gyro_lowpass_hz = 120 set gyro_lowpass2_hz = 300 set dterm_lowpass_hz = 80-100 set dterm_lowpass2_hz = 160-250
set gyro_lowpass_hz = 150 set gyro_lowpass2_hz = 400 set dterm_lowpass_hz = 100 set dterm_lowpass2_hz = 250
Noisy / Beat-up quad
set gyro_lowpass_hz = 90 set gyro_lowpass2_hz = 180 set dterm_lowpass_hz = 70 set dterm_lowpass2_hz = 140
Enable Dynamic Filter
It’s best to leave Dynamic filter enabled. Yes, it adds delay, but it’s useful when you are constantly bashing your props which changes the noise frequency. Dynamic filter can target that noise automatically and keep it down. So I think this should work well for most people. Only turn it off if you know what you are doing.
I hope this guide was easy to follow, feel free to share, comment and ask questions. I will try to keep this guide up to date.
- Jul 2018 – Article created
- Aug 2018 – Added info about Feedforward