微空科技
文档目录
文章目录

飞控固件烧录教程(Ardupilot/PX4/Betaflight/INAV)

视频教程:如何给 H743 飞控烧录 ArduPilot、PX4、INAV、Betaflight 等开源固件

教程概述

MicoAir743 飞控

微空 MicoAir743 系列飞控支持以下四种开源飞控固件:

  • ArduPilot
  • PX4
  • Betaflight
  • INAV

四种固件可以按需更换,但具体烧录方式既有共通步骤,也存在差异。本文以 MicoAir743 为例,分别介绍四种固件的烧录流程;相关操作同样适用于 MicoAir743v2、MicoAir405v2 等其他型号。

STM32 的 DFU 模式固化在 ROM 中,不会随应用固件烧录而丢失;即使应用固件无法启动,仍可进入 DFU 模式重新烧录。

准备软件工具

工具用途
Zadig 2.8安装 DFU 驱动
STM32CubeProgrammerST 官方烧录工具,可用于烧录飞控 Bootloader 和固件
Betaflight ConfiguratorBetaflight 飞控配置与固件烧录
Mission PlannerArduPilot 地面站与固件烧录
QGroundControlPX4 地面站与固件烧录
INAV ConfiguratorINAV 飞控配置与固件烧录

推荐方案:使用 MicoConfigurator 烧录 ArduPilot 固件

MicoConfigurator 无需安装,打开即可使用,支持 Windows、macOS 和 Linux。

它提供在线升级、本地文件烧录和 DFU 烧录,可集中完成固件更新:

  • 飞控当前已经运行 ArduPilot 固件时,可使用在线升级或本地文件烧录,无需执行额外步骤。
  • 飞控当前未运行 ArduPilot 固件时,可使用 DFU 烧录。DFU 驱动的安装方法见本文后续章节。
  • 使用 DFU 烧录时,无需另外安装 STM32CubeProgrammer。

MicoConfigurator 固件更新界面

MicoConfigurator DFU 烧录界面

固件下载

微空科技仓库仅提供旧版本固件。最新版本应从对应开源飞控官方网站下载,或通过飞控配置软件在线烧录。

飞控型号固件仓库
MicoAir743MicoAir743 Firmware
MicoAir743v2、MicoAir743v2-AIOMicoAir743v2 Firmware
MicoAir405v2MicoAir405v2 Firmware
MicoAir405MiniMicoAir405Mini Firmware

ArduPilot 官方固件

ArduPilot 从 4.5.0 版本开始正式支持 MicoAir405v2,从 4.6.0 版本开始支持 MicoAir405Mini、MicoAir743 和 MicoAir743v2。对应机型的固件可从 ArduPilot 官方服务器下载:

ArduPilot Firmware Download

ArduPilot 官方固件下载页面

旧版本固件可从微空科技 GitHub 仓库或 QQ 群下载,具体信息见对应飞控手册。

如需按自身需求选择固件功能,也可以使用 ArduPilot 在线自定义固件服务,在线选择所需功能,生成固件并下载到本地:

ArduPilot Custom Firmware Builder

ArduPilot 在线自定义固件页面

进入 DFU 模式并安装驱动

准备一块 MicoAir743 飞控和一根支持数据传输的 USB Type-C 数据线。

1. 让飞控进入 DFU 模式

  1. 按住飞控 USB 接口旁的 BOOT 按钮。
  2. 保持按钮按下,同时插入 USB 数据线并连接电脑。
  3. 飞控上电约 2 秒后,松开 BOOT 按钮。

按住 BOOT 按钮进入 DFU 模式

2. 在 Zadig 中显示全部设备

打开 Zadig 2.8,在 Options 菜单中勾选 List All Devices

Zadig List All Devices 选项

3. 选择 DFU 设备

打开设备列表并选择 DFU in FS Mode。如果飞控主控为 STM32F405,设备名称也可能显示为 STM32 BOOTLOADER

如果列表中没有对应设备,请检查:

  • 插入 USB 数据线前,BOOT 按钮是否保持按下。
  • 当前 USB 数据线是否支持数据传输并能正常工作。

在 Zadig 中选择 DFU 设备

4. 安装 DFU 驱动

点击 Install Driver,安装 WinUSB 驱动。

使用 Zadig 安装 WinUSB 驱动

等待驱动安装完成。打开 Windows 设备管理器,如果能够看到 DFU in FS Mode 设备,即表示电脑已经正确识别飞控的 DFU 模式。

Windows 设备管理器识别 DFU 设备

完成以上准备后,即可按照下面对应固件的流程进行烧录。

烧录 Betaflight 固件

  1. 让飞控进入 DFU 模式并打开 Betaflight Configurator。
  2. 确认软件右上角显示 DFU - DFU in FS Mode,表示飞控已经被正确识别。
  3. 在目标板列表中选择 MICOAIR743
  4. 点击右下角的 Load Firmware [Online] 下载在线固件。
  5. 下载完成后,点击左侧的 Flash Firmware 开始烧录。

Betaflight Configurator 在线固件烧录

也可以使用本地固件文件:

  1. 点击 Load Firmware [Local]
  2. 选择电脑中的 Betaflight 固件文件。
  3. 点击 Flash Firmware,将固件写入飞控。

Betaflight Configurator 加载本地固件

Betaflight Configurator 烧录本地固件

烧录 INAV 固件

INAV 从 8.0 RC3 版本开始修复了长期存在的 TF 卡识别问题,建议使用 8.0 RC3 或更高版本,并配合 8.0 版本的 INAV Configurator。

INAV 固件版本选择

  1. 让飞控进入 DFU 模式并打开 INAV Configurator。
  2. 确认软件右上角显示 DFU,表示飞控已经被正确识别。
  3. 打开 Firmware Flasher 页面。
  4. 在左上角选择飞控型号,例如 MicoAir743 或 MicoAir405v2。
  5. 在版本列表中选择需要烧录的固件版本。
  6. 点击 Load Firmware [Online] 下载在线固件;也可以点击 Load Firmware [Local] 加载本地固件。
  7. 在右下角点击 Flash Firmware,将固件写入飞控。

烧录 ArduPilot 固件

ArduPilot 固件的烧录方式取决于飞控当前运行的固件。

情况一:飞控从未烧录固件,或当前运行的不是 ArduPilot

需要使用 INAV Configurator 或 STM32CubeProgrammer,烧录已经整合 Bootloader 的 xxx_with_bl.hex 文件。烧录过程可能持续数分钟。

1. 下载 with_bl.hex 固件

下载带 Bootloader 的 ArduPilot 固件

2. 使用 STM32CubeProgrammer 烧录

  1. 安装并打开 STM32CubeProgrammer。
  2. 确认飞控已经进入 DFU 模式。
  3. 在软件界面右上方选择 USB 连接方式。
  4. 点击右侧刷新按钮。正常情况下,软件会识别到 USB1
  5. 点击 Connect 连接飞控。

STM32CubeProgrammer 通过 USB 连接飞控

连接成功后:

  1. 点击左上方的 Open file
  2. 选择本地的 xxx_with_bl.hex 文件。
  3. 点击 Download
  4. 等待数分钟,直至烧录完成。

STM32CubeProgrammer 烧录 HEX 固件

情况二:飞控已经运行 ArduPilot

此时可以直接在 Mission Planner 中加载 .apj 文件并烧录。

  1. 先断开飞控与电脑的连接。
  2. 打开 Mission Planner,进入 Install Firmware 页面。
  3. 点击 Load custom firmware,选择电脑中的 .apj 固件文件。

Mission Planner 加载自定义固件

Mission Planner 读取固件后会弹出提示框,要求在点击 OK 后连接飞控。

Mission Planner 等待连接飞控

点击 OK,再使用 USB 数据线连接飞控。Mission Planner 会自动识别飞控并开始写入固件,通常约 10 秒即可完成。

Mission Planner 烧录 ArduPilot 固件

烧录 PX4 固件

如果飞控当前运行的不是 PX4 固件,需要先烧录 PX4 Bootloader。

1. 连接 STM32CubeProgrammer

让飞控进入 DFU 模式,打开 STM32CubeProgrammer 并连接飞控。

首次烧录 PX4 固件时,建议先清除全部 Flash:点击主界面左下角的橡皮擦按钮。

STM32CubeProgrammer 清除全部 Flash

2. 烧录 PX4 Bootloader

  1. 点击 Open file
  2. 选择本地的 xxx_PX4_bootloader.elfbootloader.bin 文件。
  3. 点击 Download 开始烧录。

.elf 文件所在路径不能包含中文字符。

Bootloader 文件体积较小,通常 1–2 秒即可完成烧录。

STM32CubeProgrammer 烧录 PX4 Bootloader

烧录完成后,断开飞控的 USB 连接。

3. 使用 QGroundControl 烧录 PX4 固件

  1. 打开 QGroundControl,并进入 Firmware 页面。
  2. 按照页面提示,使用 USB 数据线连接飞控。此时不需要按 BOOT 按钮。

QGroundControl Firmware 页面

QGroundControl 识别到飞控后会弹出设置窗口:

  1. 勾选“高级设置”。
  2. 在下方选择“自定义固件”。
  3. 点击 OK

QGroundControl 选择自定义固件

在文件选择窗口中选中已经下载的 xxx.px4 固件文件并打开。QGroundControl 会开始烧录,通常约 10 秒即可完成。烧录结束后,飞控会自动重启,QGroundControl 也会自动重新连接。

QGroundControl 烧录 PX4 固件