Chris Collins

Tools · rc

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

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

  1. 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).

  2. 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.

  3. 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.

  4. 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.

  5. 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, dump or get rate and Load into A; Copy as CLI gives the set lines.

  • 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).

Runs entirely in your browser; nothing you type leaves this page.