FPV drone software is easier to reason about when you separate the layers.

The radio link, flight-controller firmware, configurator, post-flight logs, and experimental VTOL control code solve different problems.

This page maps the FPV-related posts on FOSS Engineer into one workflow.

The Short Version

Post Best For Layer
ExpressLRS Rebuilding and flashing receiver firmware deliberately Radio link
Betaflight Understanding what runs on the flight controller Flight-control firmware
Betaflight App Configuring, flashing, backing up, and inspecting the flight controller Configurator
Betaflight Blackbox Explorer Reading .bbl / .bfl logs after a flight Post-flight analysis
dRehmFlight Studying readable Arduino/Teensy VTOL control code Custom VTOL firmware

How They Fit Together

Radio transmitter
  -> ExpressLRS TX module
  -> ExpressLRS receiver
  -> CRSF / UART into Betaflight
  -> Flight controller sensors, modes, mixer, motors, OSD, failsafe
  -> Betaflight App for configuration and flashing
  -> Blackbox Explorer for post-flight logs

dRehmFlight sits beside that normal FPV stack. It is not the default path for a freestyle quad, but it is valuable when you want to read the control loop directly or prototype unusual VTOL aircraft.

  1. Start with ExpressLRS if the aircraft cannot connect to the radio.
  2. Read Betaflight when you want to understand the flight-controller firmware layer.
  3. Use Betaflight App for the operational workflow: connect, configure, flash, back up, inspect.
  4. Use Betaflight Blackbox Explorer after flights, especially when the aircraft behaves strangely.
  5. Read dRehmFlight when the goal is learning, custom mixers, or experimental VTOL control logic.

ExpressLRS

Use the ExpressLRS post when the problem starts at the radio link.

It is useful for:

  • identifying old receiver target names
  • rebuilding a known firmware version deliberately
  • understanding FCC/ISM versus regional firmware choices
  • avoiding guesswork when Web Flasher names have changed

Useful link:

Betaflight Firmware

Use the Betaflight firmware post when you want to inspect what runs on the flight controller.

It is useful for:

  • understanding target configs and board metadata
  • seeing how receiver input, sensors, modes, failsafe, and motor output fit together
  • validating code paths with SITL and focused tests before touching hardware
  • connecting the ExpressLRS radio-link layer to the flight-control layer

Useful link:

Betaflight App

Use Betaflight App when the question is operational: how to connect to the flight controller and change its configuration.

It is useful for:

  • configuring receiver ports and modes
  • flashing firmware
  • backing up settings
  • inspecting board state through MSP
  • understanding WebSerial, WebUSB DFU, PWA, Android, and desktop packaging around the configurator

Useful links:

Betaflight Blackbox Explorer

Use Blackbox Explorer after the flight.

It is useful for:

  • opening .bbl and .bfl logs
  • graphing flight-controller telemetry over time
  • syncing logs with flight video
  • checking whether a problem was tuning, vibration, receiver input, throttle behavior, or something else

Useful links:

dRehmFlight

Use dRehmFlight when you want a readable flight-controller codebase for learning or custom aircraft experiments.

It is useful for:

  • Arduino/Teensy flight-control learning
  • custom VTOL experiments
  • mixer experiments that do not fit a normal FPV quad preset
  • studying IMU reading, attitude estimation, PID control, receiver input, and motor/servo output in one compact sketch

For a normal FPV freestyle or racing quad, Betaflight is usually the practical default. For source-level learning and unusual VTOL prototypes, dRehmFlight is more approachable.

Useful link:

Choosing a Starting Point

If You Need To… Start With
Recover or rebuild receiver firmware ExpressLRS
Understand the embedded flight-control layer Betaflight firmware
Configure or flash a flight controller Betaflight App
Diagnose a weird flight after landing Blackbox Explorer
Learn or prototype custom VTOL control logic dRehmFlight

Safety Note

Treat FPV firmware work as physical-system work, not only software work.

Before flashing, configuring, or testing a flight controller, remove propellers, confirm the exact board target, back up the current configuration, and avoid changing receiver, arming, failsafe, or motor-output settings casually.