MicoAir743是由微空科技设计并生产的一款高性能飞控,采用480M主频的STM32H743主控,BMI088&BMI270双IMU,并板载DPS310气压计和IST8310磁力计。

MicoAir743支持四种开源飞控固件:Ardupilot、PX4、Betaflight、INAV。
飞控可以随意更换烧录四种固件,不同固件的烧录方式有些许差别,也有共同之处,下面介绍这四种开源固件在微空MicoAir743飞控上的烧录方式,也同样适用于其它型号的飞控。
注意STM32的DFU模式是固化在ROM里的,不会丢失,所以不管什么情况下都不会刷成砖,可以放心大胆烧录。
相关软件工具
zadig-2.8 (用于安装DFU驱动)
https://micoair.com/tempfile/zadig-2.8.exe
STM32CubeProgrammer
https://www.st.com/en/development-tools/stm32cubeprog.html#get-software
betaflight-configurator (10.10.0)
https://github.com/betaflight/betaflight-configurator/releases
Mission Planner
https://ardupilot.org/planner/docs/mission-planner-installation.html
QGroundControl
http://qgroundcontrol.com/downloads/
inav-configurator
https://github.com/iNavFlight/inav-configurator/releases
飞控固件下载
MicoAir743
https://github.com/micoair/MicoAir743/tree/main/Firmware
MicoAir405v2
https://github.com/micoair/MicoAir405v2/tree/main/Firmware
MicoAir405Mini
https://github.com/micoair/MicoAir405Mini/tree/main/Firmware
Ardupilot从4.6版本以后开始官方支持以上三款飞控,可以在Ardupilot官网直接下载各种机型的固件:https://firmware.ardupilot.org/

也可以使用自定义固件功能,根据自己的需求在线定义固件功能并下载回本地。
https://custom.ardupilot.org/add_build

飞控DFU模式和驱动安装
准备好一个MicoAir743飞控和USB-Type-C数据线。
先按下飞控USB接口旁的BOOT按钮,再插入USB数据线连接电脑。待飞控上电2秒后即可松开按钮。

打开zadig-2.8,Options菜单栏里勾选“List All Devices”。

点开设备列表,选择“DFU in FS Mode”。如果找不到这一项,请确认飞控插入USB前BOOT按钮处于按下状态,或者检查一下USB数据线是否能正常工作。

点击“Install Driver”,安装WinUSB驱动。

等待几分钟,驱动安装完成。此时打开windows设备管理器,可以找到”DFU in FS Mode”设备,说明成功识别到飞控DFU了。

飞控进入DFU模式后,开始按照下面的说明来烧录各类固件。
Betaflight&INAV固件烧录
打开betaflight-configurator,右上角应该会显示“DFU-DFU in FS Mode“,说明成功识别飞控。
点击右下角的”Load Firmware[Local]”,选择电脑本地的Betaflight固件文件,再点击“Flash Firmware“,开始烧录固件到飞控板,等待数分钟后固件将会烧录完毕。


只要是Hex文件,都可以通过这个方式烧录到飞控。所以可以使用同样的步骤,烧录INAV固件到MicoAir743飞控。
Ardupilot固件烧录
Ardupilot固件烧录分两种情况:
1. 飞控板未烧录过固件或者前面运行的不是Ardupilot固件
需要用inav-configurator或者STM32CubeProgrammer烧录整合了bootloader的xxx_with_bl.hex文件。烧录过程可能会持续数分钟。
下载with_bl.hex固件回本地

使用inav-configurator烧录.hex固件

使用STM32CubeProgrammer烧录.hex固件
下载安装STM32CubeProgrammer并打开,先确认飞控已进入DFU模式,然后在软件界面右上方选择“USB”连接方式,再点击右侧的刷新按钮,顺利的话将会识别到“USB1”,再点击“Connect”连接飞控。

左上方点击“Open file”,选择本地的xxx_with_bl.hex文件,然后点击”Download”,等待数分钟后完成烧录。

2. 飞控板已经运行了Ardupilot固件
这个情况下可以直接在Mission Planner上加载.apj文件并烧录到飞控。
飞控先断开与电脑的连接,再打开Mission Planner地面站软件,进入到Install Firmware界面,点击“Load custom firmware”,选择本地的.apj固件文件。

数秒后MP读取固件完毕,弹出提示框,提示点击OK后再插入飞控板。

点击OK后,再用usb数据线连接飞控到电脑,Mission Planner将会自动识别飞控并开始写入固件,大约十秒左右可以烧录完成。

PX4固件烧录
如果飞控板原先运行的不是PX4固件,那么需要先烧录PX4的Bootloader。
飞控进入DFU模式,打开STM32CubeProgrammer软件连接飞控。
点击“Open file”打开本地的xxx_PX4_bootloader.elf文件,再点击“Download”,Bootloader文件由于体积很小烧录速度会比较快,一般1-2秒可以烧录完成。

烧录完成后飞控断开USB连接。
打开QGroundControl地面站软件,切换到Firmware页面,按照页面提示,用usb数据线连接飞控(注意这里不需要按boot按钮)。

接入飞控后QGC自动识别,会弹出设置选项。勾选“高级设置”,下方选择“自定义固件”,再点击OK。

在弹出的文件浏览界面选择下载回来的“xxx.px4”固件文件,点击打开,QGC开始将该固件烧录到飞控,大概会花费10秒左右。烧录完成后飞控自动重启且QGC会自动连接飞控。
