ADOSMission Control

Flash Tool

Flash firmware via USB DFU or serial bootloader

Firmware Stack

No Connection

Connect your FC in DFU mode: hold BOOT while plugging in USB, then click Scan.

What is DFU flashing?

DFU (Device Firmware Upgrade) is a USB protocol that talks directly to the STM32 bootloader. It bypasses the serial bootloader entirely.

Serial bootloader uses the FC's UART to flash firmware. This is the most common method and works with most boards.

When to use DFU: Some H7-based boards (like Matek H743) work better with DFU. It's also useful when serial flashing fails or when you need to recover a bricked board.

To enter DFU mode, hold the BOOT button on your FC while plugging in the USB cable. The board will appear as a DFU device instead of a serial port.

Bootloader not detected? Manual entry guide

If the flash tool cannot automatically enter bootloader mode, try these steps:

  1. Unplug the FC from USB completely
  2. Hold the BOOT button on the FC (small button near the USB port, sometimes labeled "BT" or "BOOT")
  3. While holding BOOT, plug in USB
  4. Release BOOT after 1-2 seconds
  5. Click Scan for DFU above, or click Flash Firmware and select the port when prompted

Recovering a bricked board: If your FC is unresponsive (no serial port, no MAVLink), the BOOT button method above is the standard recovery path. It forces the STM32 into its built-in ROM bootloader, which is independent of any flashed firmware.

NuttShell / NSH prompt: If you see shell-like output instead of MAVLink data, the FC booted into maintenance mode (common on Pixhawk boards). Unplug, use the BOOT button method, and reflash.

No drone connected. Select your board and firmware manually, or connect a drone for automatic detection.

Browser Not Supported

Firmware flashing requires Web Serial or WebUSB APIs. Use Chrome or Edge.

Target Board

0 boards available from ArduPilot manifest

Firmware Version

Firmware Source

Flash Method

Pre-Flash Safety Checklist

Flashing new firmware will erase all current settings. Complete all checks before proceeding.