You’ve got your PIDs dialed — no oscillations, clean blackbox, motors come down cool. But the quad still feels half a beat behind your thumbs. That lag is not in your PIDs. It’s in your feed forward settings. FF predicts your stick movement and sends motor commands before the PID loop even detects an error. Tune it right and your quad feels wired directly to your brain. Tune it wrong and you get overshoot, bounce, and hot motors. Here’s the exact tuning sequence.
Feed Forward: What It Actually Does
The PID controller is reactive — it sees an error and corrects it. That takes time. Feed forward looks at your stick movement velocity and sends a preemptive motor command proportional to how fast you’re moving the stick. The faster you move the stick, the stronger the FF kick.
The three FF parameters: ff_interpolate (smooths the FF signal), ff_smooth_factor (averages across cycles), and ff_boost (adds a second derivative component for sharper stops). Most pilots only need to touch the per-axis FF gain values — roll, pitch, and yaw.
Step 1: Baseline Your Current Feel
Fly a pack with your current FF values (Betaflight 4.5 default is 60 on all axes). Do three specific maneuvers and note how they feel:
-
Snap roll: Full stick deflection to center, as fast as you can. Watch for a “second bounce” after centering — the quad overshoots center, corrects, and bounces back. This is FF overshoot.
-
Split-S at speed: Roll 180 degrees and immediately pull back. The transition from roll to pitch should feel seamless. If there’s a stutter between the two, your FF is too low on one axis.
-
Tight slalom: Weave between two trees at speed. The quad should change direction instantly at each stick reversal. Any “sliding” feel means FF is too low.
Step 2: Tune Roll FF First
Increase roll FF in steps of 10:
set f_roll = 70 → fly → 80 → fly → 90
Stop when one of these happens:
– You feel a sharp “tic” at the end of a snap roll (overshoot — back off by 10)
– Motors come down noticeably warmer than before (FF is driving excess power — back off by 10)
– The quad bounces once after centering the stick (the classic overshoot sign — back off by 15)
For most 5-inch builds, the sweet spot is 80-100. Stiff frames with low noise floors can run higher. Flexy frames or builds with moderate gyro noise cap out around 70-80.
Step 3: Tune Pitch FF
Pitch FF follows the same process as roll, but the ceiling is typically 10-15 points higher because pitch axis has more natural aerodynamic damping (the quad’s body acts as a stabilizer in pitch).
Start at roll FF + 10:
set f_pitch = ROLL_FF + 10
Fly the same snap maneuvers. Pitch overshoot is easier to see — the quad’s nose dips or rises after a sharp pitch stop. Back off by 10 if you see it.
Step 4: Tune Yaw FF
Yaw FF is the trickiest. Too much and the quad yaws past your intended heading on every sharp turn. Too little and it wallows through turns.
Start conservatively at roll FF minus 10:
set f_yaw = ROLL_FF - 10
Test with tight 180-degree yaw spins. The quad should stop exactly where you centered the stick. If it continues past center (yaw overshoot), lower by 5. If it stops short and the tail “drags” into position, increase by 5. The window is narrow — yaw FF sweet spot is usually within a 10-point range.
Step 5: Enable FF Interpolation (Betaflight 4.5+)
Betaflight 4.5 introduced ff_interpolate = ON, which smooths the FF signal between RC command updates. Your radio sends stick data at 150-500Hz depending on the protocol. Between updates, the old FF behavior was to hold the last value, creating a stair-step pattern that translated to audible motor roughness.
set ff_interpolate = ON
set ff_interpolate_sp = ON (smoothes the setpoint before FF calculation)
Both should be ON for any build running Betaflight 4.5+. The difference is audible — motors sound smoother during rapid stick movements, and the quad tracks more precisely.
Feed Forward Tuning Reference
| Build Type | Typical Roll FF | Typical Pitch FF | Typical Yaw FF | Warning Signs of Too Much |
|---|---|---|---|---|
| 5-inch Freestyle (250-350g) | 80-100 | 90-110 | 70-90 | Snap-roll bounce, warm motors |
| 5-inch Racing (200-250g) | 90-110 | 100-120 | 80-100 | Overshoot on gate approaches, propwash |
| 7-inch Long Range (350-500g) | 60-80 | 70-90 | 50-70 | Slow oscillation after stick inputs |
| 3-inch Cinewhoop (200-300g) | 70-90 | 80-100 | 60-80 | Duct resonance, yaw wag |
| 65mm Whoop (19-25g) | 110-130 | 120-140 | 90-110 | Bounce after stick release, hot 0802 motors |
What Pilots Get Wrong About Feed Forward
Mistake 1: Cranking FF to “make the quad faster”
Feed forward improves stick response time. It does not increase top speed, max turning rate, or thrust. A quad with FF at 150 feels incredibly snappy — for about 30 seconds, until the motors hit 80°C and the battery sags. The fix: FF is a feel parameter, not a performance parameter. Tune it for response, not speed.
Mistake 2: Ignoring FF when the quad “drifts” during flips
A quad that rolls cleanly but “slides” half a roll past center before stopping has a PID problem, not an FF problem. Pilots crank FF to fix it and get overshoot on top of the existing drift. The fix: Increase P-gain on the drifting axis until the quad stops where you tell it. Then tune FF for the initial stick response.
Mistake 3: Running the same FF on all battery voltages
FF feels completely different on a fresh 6S at 25.2V versus a sagged pack at 21V. At lower voltage, the same FF command produces less motor torque, so the quad feels “looser” as the pack drains. The fix: Tune FF on a mid-pack battery (~3.8V per cell). This gives you consistent feel across the entire flight — a touch snappy at the start, a touch relaxed at the end, but never extreme at either.
Mistake 4: Not setting ff_smooth_factor in Betaflight 4.5
The default ff_smooth_factor = 30 (out of a 0-75 range) adds averaging to the FF signal. On noisy builds, the raw FF signal contains gyro noise artifacts that translate to audible motor roughness. The fix: Start at 30. If your build is mechanically clean (low gyro noise), lower to 15-20 for crisper response. If you have persistent motor roughness during rapid stick movements, increase to 40-50.
Mistake 5: Forgetting that FF is always active, not just during inputs
Feed forward responds to stick movement velocity. Even a tiny, unintentional stick tremor at center — something every pilot has — produces an FF command. At high FF values (>120), this tremor becomes a constant low-amplitude motor oscillation you can hear at idle. The fix: Check your radio’s stick deadband. Add 1-2 points of deadband on each axis to filter out unintentional center tremor.
⚠️ Regulatory Notice: Feed forward tuning involves repeated aggressive maneuvers that may exceed the visual line of sight range. Always test in an open area away from people, property, and airspace restrictions. Follow the latest 2026 drone regulations in your country or region. Regulations vary significantly between the FAA (US), EASA (EU), CAA (UK), CAAC (China), and other authorities.
Once your FF is dialed, the quad’s behavior during aggressive maneuvers becomes predictable enough to trust in tight spaces. Our PID tuning masterclass covers the complementary PID adjustments that make FF tuning effective. For understanding what the motors are actually doing during sharp stick inputs, our blackbox log analysis guide walks through the motor output view.
A flight controller that can keep up with high feed forward values needs clean power delivery and low gyro noise. The SpeedyBee F405 V4 stack with its dedicated LC filter and low-noise gyro handles aggressive FF tuning without introducing artifacts — check the full stack lineup at uavmodel.com.
