What the flight controller is actually doing
Your drone soccer ball has a flight controller running Betaflight. Many times a second, the controller compares what you asked for (your stick position — the "setpoint") against what the ball is actually doing (measured by the gyro). The difference is the "error," and the PID controller's whole job is to drive that error to zero by adjusting motor speeds. Betaflight runs this loop extremely fast. Betaflight's own documentation notes it locks "to the frequency that the gyro runs best at so depending on the gyro chip, that's thousands of corrections every second.
Think of it like a student driver constantly making tiny steering corrections to stay in a lane. P, I, and D are three different correction strategies working together.
P: Proportional (the muscle / responsiveness)
P is the immediate, in the moment push back toward where you want to be. The bigger the error, the harder P pushes. Higher P = sharper, more "locked-in," more responsive — the ball corrects quickly after being knocked.
- P too high: the ball oscillates at high frequency — a fast shake or shimmer, and you'll hear the motors buzz and feel them get hot. The correction overshoots, then over-corrects the other way, again and again.
- P too low: the ball feels sluggish and "mushy," slow to respond to your sticks and slow to recover its attitude after a collision.
I: Integral (the memory / holding power)
I looks at error that persists over time and keeps adding correction until it's gone. It's what holds the ball's attitude against a steady push — an off-center weight, a draft, or leaning on another ball in a scrum. Higher I = holds attitude better, less drift.
- I too high: a slow wobble and bounce-back oscillation — after a disturbance like a collision, the ball overshoots and rocks back and forth slowly before settling.
- I too low: the ball won't hold its attitude — it drifts after being knocked and constantly needs you to correct it, feeling loose and pushed-around.
D: Derivative (the shock absorber / damping)
D reacts to how fast the error is changing and applies a braking force against sudden motion. It's the damper that stops P from overshooting and tames the bounce after a fast input or a hit. Higher D = less overshoot, less bounce-back. This is the term that matters most in a contact sport.
- D too high: D amplifies gyro noise, so you get hot motors and a high-pitched motor whine; in extreme cases a slow, "mushy" feel returns.
- D too low: overshoot and bounce after fast stick inputs or collisions the ball "rings" after every hit instead of settling cleanly.
Filters: the noise vs latency tradeoff
Raw gyro data is noisy: motors vibrate, props are never perfectly balanced, the cage flexes on impact. If that noise reaches the PID loop (especially the sensitive D-term), the motors react to vibration instead of real motion, which makes them hot and can cause oscillation. Filters (gyro and D-term low-pass filters, plus notch filters that remove specific vibration frequencies) smooth the signal first.
The catch: every filter adds a tiny delay (latency). More filtering = cleaner but slower-reacting, which forces you to run lower P and D. Less filtering = sharper response but more noise. For a coach, the practical takeaway is: leave the filters at the Saker preset defaults unless you have a specific noise problem (hot motors with no oscillation is the classic sign). The Bantam preset already uses modern dynamic and RPM-based filtering tuned for this airframe.
Rates vs PIDs: the distinction that trips everyone up
This is worth stating plainly because newcomers confuse it constantly:
- Rates = how fast the ball rotates for a given stick movement (sensitivity / agility). High rates = twitchy and fast; low rates = gentle and forgiving. Rates are about your control feel and are personal preference.
- PIDs = how accurately and stably the ball achieves and holds whatever the rates commanded. Good PIDs make the ball track your input cleanly without wobble.
A useful way to remember it: rates decide where you're telling the ball to go; PIDs decide how well it gets there and stays there. You change rates because you want a different feel. You change PIDs because the ball isn't flying cleanly (oscillation, drift, bounce). Important quirk: in self-leveling Angle mode (what drone soccer uses), pitch and roll rates don't apply the normal way,, tilt is governed by the angle limit and angle/level strength instead. So for soccer, your main "feel" levers are the angle limit and throttle cap, not classic acro rates. Oscar Liang
A safe, simple tuning workflow for coaches
You do not need to be an engineer or use blackbox logging to tune safely. Follow this:
- Always start from the known-good Saker/Drone Sports preset and back up the current config first (Betaflight Configurator → Presets → Save backup). Saving over a config is permanent and there is no undo, so the backup is your safety net.
- Change one term at a time, in small steps. Move a single value (or one slider notch), then test-fly. Never change P, I, D, rates, and filters all at once — you won't know what did what.
- Use the PID sliders, not raw numbers, if you're unsure. Betaflight's slider system (Master Multiplier, P&D Balance, etc.) keeps you in a safe range and is designed for non-experts. Stick with sliders OR numbers — mixing them causes conflicts.
Diagnose by ear and eye — your two best free tools:
- Hear buzzing/whining + feel hot motors after a short flight → too much P or D (or a filtering problem). Land and back off.
- See fast shimmer/shake → P too high.
- See slow wobble or bounce-back after a bump → I too high, or D too low. A good rule of thumb: fast oscillation = reduce D or P; slow oscillation = raise D or lower P.
- See drift / won't hold attitude → I too low.
- Feel mushy/late response → P too low (or over-filtered).
- Always test with a freshly charged battery and undamaged props. A nicked prop or a sagging pack will make you chase tuning problems that aren't real.
- Check motor temperature after every change — warm is fine, too-hot-to-hold means back off D (or P) immediately.
- If your board supports blackbox logging, it's a bonus, not a requirement: a log shows the gyro trace vs. the setpoint, where overshoot (P too high), lag (P too low), and post-maneuver oscillation (propwash/bounce — needs D) are visible. But the eyes-and-ears method above is enough for classroom-level tuning.
For drone soccer specifically, the tuning priority is durability and clean bounce-back recovery after collisions, not lap time speed. That means favoring solid D-term damping and a sane angle/throttle ceiling over a razor-sharp, twitchy racing tune.