Feedforward, I-term relax, anti-gravity and TPA explained
Once P and D are balanced, four groups of settings finish the job. Feedforward sharpens the response to your stick. I-term relax stops I-term building up during fast moves. Anti-gravity keeps the nose from dipping when the throttle changes quickly. TPA (throttle PID attenuation) turns the gains down at high throttle to stop oscillation there. Change them one group at a time, in small steps, and only after P and D are settled.
Feedforward: how sharp does the quad react to the stick?
What it does. P, I and D react to error, which means the quad has to be late before they act. Feedforward reacts to how fast you move the stick, so the motors start before an error appears. Higher feedforward means a crisper response.
Key settings and defaults
| Setting | Meaning | 4.3, 4.4, 4.5 | 2025.12, 2026.6 |
|---|---|---|---|
f_roll, f_pitch, f_yaw |
Feedforward gain | 120, 125, 120 | 120, 125, 120 |
feedforward_transition |
Reduces feedforward near centre stick | 0 | 0 |
feedforward_averaging |
Averaging of the stick signal | OFF |
2_POINT |
feedforward_smooth_factor |
Smoothing of the feedforward signal | 25 | 65 |
feedforward_jitter_factor |
Suppresses feedforward noise from the radio link | 7 | 7 |
feedforward_boost |
Extra push from stick acceleration | 15 | 15 |
feedforward_max_rate_limit |
Limits feedforward near full stick | 90 | 90 |
Symptom. Too much feedforward overshoots at the end of a fast stick move, and the response can look jittery on a link with coarse steps. Too little feels laggy and soft against the stick.
Which way. Lower f_* for overshoot on fast moves, raise it for a lazy response. If the response feels rough, more smoothing or a higher jitter factor helps, at the cost of a little delay. Check the step response on a full-stick snap carefully: it shows more overshoot from feedforward, so judge it as described in the step response guide.
I-term relax: should I-term sit out fast moves?
What it does. I-term collects error over time. In a fast flip, the error is large for a moment, so I-term builds up, and then the quad overshoots or drifts when the move ends. I-term relax lets the I-term accumulate less while the stick is moving fast.
Key settings and defaults (the same in every version covered)
| Setting | Default | Meaning |
|---|---|---|
iterm_relax |
RP |
Axes covered: roll and pitch |
iterm_relax_type |
SETPOINT |
What the relax follows |
iterm_relax_cutoff |
15 | How readily it relaxes |
Symptom. The quad overshoots or drifts back after a flip or roll, or sags on a quick turn.
Which way. A lower iterm_relax_cutoff relaxes I-term more often, which reduces the drift after fast moves. A higher cutoff lets I-term work more, which helps when the quad is slow to hold its attitude. Moves are small: a few points at a time.
Anti-gravity: why does the nose dip when I punch the throttle?
What it does. A sudden throttle change alters thrust faster than P and D can react, and the attitude sags. Anti-gravity boosts the I-term for a moment, and from 4.4 the P-term too, to hold attitude through quick throttle changes.
Key settings. Betaflight 4.4 rewrote anti-gravity, so the scales differ and values don’t convert between 4.3 and 4.4.
| Setting | 4.3 | 4.4, 4.5, 2025.12, 2026.6 |
|---|---|---|
anti_gravity_gain |
3500 (scale 0 to 30000) | 80 (scale 0 to 250) |
anti_gravity_cutoff_hz |
not present | 5 |
anti_gravity_p_gain |
not present | 100 |
Symptom. The nose drops or the attitude drifts at the start of a punch-out or after a throttle chop.
Which way. Raise the gain a little for sag. If the quad oscillates on throttle changes, lower it. The cutoff and P gain are best left at their defaults unless you have a log that shows a reason.
TPA: why does the quad oscillate at full throttle?
What it does. At high throttle the motors give more authority per unit of command, so the same gains become too strong and the quad can oscillate. TPA reduces the gains as throttle rises above a breakpoint.
Key settings. In 4.3 these live in the rate profile. From 4.4 they are in the PID profile.
| Setting | Default | Meaning |
|---|---|---|
tpa_mode |
D |
Which terms TPA reduces |
tpa_rate |
65 | How much it reduces at full throttle |
tpa_breakpoint |
1350 | Throttle where it starts |
tpa_low_rate |
20 | Low-throttle TPA, 4.5 and newer only |
tpa_low_breakpoint |
1050 | Low-throttle TPA breakpoint, 4.5 and newer only |
tpa_low_always |
OFF |
Low TPA always on, 4.5 and newer only |
Symptom. Oscillation that appears only when the throttle is high, and clears when you ease off.
Which way. Raise tpa_rate or lower tpa_breakpoint to take more gain off at the top. If the quad feels soft at high throttle, do the opposite. If the oscillation is present at every throttle, TPA is not the answer; go back to P and D or to filtering.
Why change these after P and D?
Each one is judged on top of a settled P:D balance. If you tune feedforward first, you cannot tell whether overshoot comes from feedforward or from too little D. TPA and anti-gravity also rest on the base gains being right. That is why a full tune is 4 rounds: filters, then P and D, then feedforward, I-term and TPA, then fine-tuning. See the PID tuning guide for the full order.
How FPV PID Tune handles it
Round 3 changes feedforward, I-term and I-term relax, anti-gravity, TPA and D max, after P and D. You fly that round your own way, because feel only shows in real flying: the flips, rolls and punch-outs in it are the evidence. Then the app asks how it felt, and your answer picks Sharper, Balanced or Smoother. An AI picks values, a validator holds every change to small steps per round, and every value is read back after Apply with any mismatch undone automatically.
