DEV Community

FPVtune
FPVtune

Posted on

Betaflight Has No Autotune — So I Built One

The PID Tuning Loop Every FPV Pilot Knows

If you fly FPV, you've been through this cycle:

  1. Fly a pack. Notice oscillations on descents.
  2. Land. Plug in USB. Open Betaflight Configurator.
  3. Stare at P, I, D sliders. Which one do I change? By how much?
  4. Guess. Flash. Fly again.
  5. Still not right. Repeat.

This loop can eat hours — sometimes days. And even experienced pilots admit that PID tuning is more art than science. You're basically doing gradient descent by hand, one flight at a time.

Why Doesn't Betaflight Have Autotune?

Pilots have been asking for years. There's a GitHub issue (#6857) with hundreds of comments requesting autotune. INAV has a basic autotune feature, but Betaflight's team hasn't implemented one — the problem is genuinely hard to solve on a microcontroller with limited resources.

The existing tools — PIDtoolbox and Blackbox Explorer — are great for visualizing your flight data. FFT plots, step responses, gyro traces. But they show you what happened, not what to do about it. You still need to interpret the graphs and decide which values to change.

What If Your Blackbox Log Could Tell You the Answer?

That's the idea behind FPVtune. Instead of showing you graphs and leaving you to figure it out, it reads your blackbox log and outputs optimized PID values, filter settings, and feedforward gains.

Here's how it works:

Blackbox Log (.bbl) → Neural Network Analysis → Optimized CLI Commands
Enter fullscreen mode Exit fullscreen mode

The neural network analyzes multiple dimensions of your flight data:

  • Gyro noise spectrum — identifies motor noise frequencies and vibration patterns
  • Step response — measures how your quad responds to stick inputs
  • PID error tracking — shows how well current PIDs follow commands
  • Filter performance — checks if filters add too much delay or pass too much noise
  • Prop wash detection — identifies oscillation events during descents

Then it generates Betaflight CLI commands you can paste directly:

# Generated by FPVtune
set p_pitch = 45
set i_pitch = 80
set d_pitch = 35
set f_pitch = 120
set p_roll = 42
set i_roll = 75
set d_roll = 30
set f_roll = 110
set p_yaw = 35
set i_yaw = 90
set dyn_notch_count = 2
set dyn_notch_q = 350
save
Enter fullscreen mode Exit fullscreen mode

No interpretation needed. No guessing.

The Difference from Default PIDs

Betaflight's default PIDs are a compromise — they work "okay" on most quads but are optimized for none. Your specific frame, motors, props, weight, and vibration profile all affect what the ideal settings should be.

After using FPVtune, pilots typically see:

  • Less prop wash oscillation on quick descents
  • Tighter, more locked-in stick feel
  • Cooler motors (properly tuned D-gain stops sending noise to motors)
  • Smoother HD footage from reduced vibrations
  • Better hover stability in wind

How It Compares

FPVtune PIDtoolbox Blackbox Explorer
Auto PID recommendations
Web-based (no install) ❌ (needs MATLAB)
Filter tuning ✅ Auto
CLI export ✅ One-click
Beginner friendly
Still maintained ❌ (ended May 2024)

PIDtoolbox was an excellent tool by Brian White, but development ended in May 2024 and it requires a ~2GB MATLAB runtime download. Blackbox Explorer is the official Betaflight log viewer — great for visualization, but it doesn't generate recommendations.

Try It

If you're tired of the guess-and-fly loop:

  1. Enable blackbox logging in Betaflight (Blackbox tab → set logging rate to 2K+)
  2. Fly a normal 2-3 minute pack
  3. Upload your .bbl file at fpvtune.com
  4. Get optimized PIDs in ~30 seconds
  5. Paste CLI commands into Betaflight and fly

No special test flight needed. No MATLAB download. No graph interpretation.

fpvtune.com


FPVtune supports Betaflight 4.3/4.4/4.5+, all common flight controllers (F4/F7/H7), and every drone type from tiny whoops to X-class. GitHub repo

Top comments (0)