FPV quad: build, rates, CLI diff and blackbox
Plan a quad build (all-up weight, thrust-to-weight, hover throttle, flight time, prop clearance), compare and convert Betaflight rates and test them with your transmitter, diff two Betaflight CLI dumps into a script, and open a blackbox log to plot gyro, PIDs and motors with a noise spectrum.
Added
Works with
- Brushless motors — inside and how they are driven Electronicshow the motors and ESCs work — six-step timing, DShot frames, bidirectional eRPM and why motor_poles must match the motor
How to use it
Four things I keep doing when building and tuning a quad, in one page. Everything runs in the browser; nothing you paste or open is sent anywhere.
How to use it
Build
-
Start from a template (5″ freestyle, 3″ cinewhoop, 7″ long range, 2.5″ toothpick) or your own saved build, and put your own weights in the parts list. Tick Battery on the pack so the tool can show the weight with and without it. A quantity of 0 keeps a part listed but out of the total (the action camera you sometimes carry).
-
Enter the full-throttle thrust of one motor with your prop and battery — from the motor maker’s thrust table, or from the motor, prop and battery solver, which works out the operating point properly.
-
The tool gives thrust-to-weight, the hover throttle (taking thrust as rising with the square of throttle), the hover current from momentum theory (ideal power T1.5/√(2ρA), divided by a rotor figure of merit and the motor and ESC efficiency — or your own measured hover current), hover time, flight time at the average throttle you fly at, and the current the battery must deliver flat out.
-
The prop check draws the frame from above with the prop discs: on a square X the neighbouring motors are wheelbase ÷ √2 apart; for a stretched or wide X enter the two spacings. Under 5 mm between tips is marked tight.
-
Save build keeps it in this browser; Export and Import move builds as a JSON file.
These are estimates to compare builds, not promises: forward flight, frame blockage and a sagging battery all change the numbers. For pack voltages and C ratings see the battery pack builder.
Rates
Set A and set B each have a rates type — Betaflight, RaceFlight, KISS, Actual or Quick — and three
numbers per axis, shown as the Betaflight Configurator shows them. The curves are Betaflight 4.x’s own
formulas (src/main/fc/rc.c), clipped at the 1998 °/s rate limit; dashed lines are set B.
-
Fit into B finds the numbers of another rates type that best match set A (least squares over the stick travel) and tells you how close it got — handy for moving from Betaflight rates to Actual.
-
Paste a
diff all,dumporget rateand Load into A; Copy as CLI gives thesetlines. -
Move the sliders, or plug your transmitter in by USB in joystick mode, move a stick so the browser sees it, and pick it from the list: the dots follow your sticks and show the rotation rate you’d command. Choose which axis is roll, pitch and yaw and invert any that run backwards. The gamepad tester shows every axis if you need to find them.
CLI diff
Paste two Betaflight diff all or dump outputs (or open them as files) and press Compare. The
differences are grouped as master settings, each PID profile, each rate profile, features, serial
ports, modes, the VTX table and board resources, each marked changed, only in A or only in B. The
script at the bottom takes a board from A to B inside batch start … batch end followed by
save. Where B is a diff and simply doesn’t mention a setting, B has the firmware default, which
the tool can’t know: the script leaves a comment telling you to check it with get. Read the script
before pasting it, and don’t apply resource, timer or DMA lines across different boards.
Blackbox (beta)
Open a .BBL or .BFL file from the flight controller’s flash or SD card (or drop it on the page),
or press Try a sample for 16 seconds of a real flight. The decoder reads the log headers and the
intra (I), inter (P), slow, GPS and event frames with Betaflight’s predictors and encodings, and
plots gyro against setpoint, the P, I, D and feedforward terms, the motors, the stick commands and
the battery for the axis you choose. Wheel or pinch to zoom, drag to pan; the spectrum under the
plots is an averaged FFT of the gyro over the visible window, so you can zoom into a hover or a
punch-out and see where the noise is. A file with several logs (one per arm) lets you pick one.
It is labelled beta because I have checked it against real Betaflight 4.2 logs — frame counts and values agree with an independent decoder — but not against every firmware version. Logs from INAV, EmuFlight or Betaflight 3.x may decode, or may not; cross-check anything important in the Betaflight Blackbox Explorer.
Browser support
Everything works in any current browser. The transmitter test uses the Gamepad API (Chrome, Edge, Firefox and Safari); the browser hides a controller until a stick or button moves while the page is open.
Privacy
Nothing leaves the browser: builds, rates and pasted CLI text are kept in this browser’s local
storage, and log files are decoded in the page. The sample log is a slice of btfl_002.bbl from the
fc-blackbox project (Apache License 2.0).
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.