Before you begin, download and install the following tools:
Not all Betaflight boards are supported by ArduPilot.
Before flashing, confirm that your board is compatible.
For the UMT PD Drone (F405 flight controller), we provide a custom build that includes both the firmware and bootloader:
File: arducopter_with_bl.hex (available in the attachments below)
Most Betaflight controllers do not ship with an ArduPilot bootloader, so it must be installed manually.
Download the provided firmware package:
➡️ arducopter_with_bl.hex
Launch STM32CubeProgrammer on your computer.
Click “Open file” and select the arducopter_with_bl.hex file.
To enter DFU (Device Firmware Update) mode:
Press and hold the BOOT button on your flight controller.
While holding it, connect the board to your PC via USB.
The board should appear as a DFU device.
If not, you may need to install a DFU driver.
Refer to your board’s documentation for detailed steps.
In STM32CubeProgrammer, click the refresh icon on the right.
You should see “USB1” appear in the dropdown menu.
Click Connect.
Click Download to begin flashing the bootloader and ArduPilot firmware.
Flashing will take a few minutes. Do not disconnect the board during this process.
Once the process completes, unplug the USB cable and then reconnect it.
The LEDs on your board should begin flashing.
In Windows Device Manager, a new device named “ArduPilot (COMx)” should appear.
This confirms that ArduPilot is now successfully running on your flight controller.
After flashing:
Open Mission Planner.
Connect to the new ArduPilot COM port.

Flashing firmware may overwrite your Betaflight configuration. Backup any settings before proceeding.
Only use firmware files verified for your exact flight controller model.
Incorrect flashing may render your board temporarily unresponsive; in that case, repeat the DFU flashing process.