Betaflight固件编译和烧录说明
- 📍相关篇《AM32-MultiRotor-ESC项目固件编译和烧录方法介绍》
- 🧨Betaflight项目地址:
https://github.com/betaflight/betaflight
- 📍 具体型号参数配置文件资源:
https://github.com/betaflight/unified-targets
- 🎉具体各飞控型号资料:
https://betaflight.com/docs/category/archive-1
- 🔧地面站配置软件betaflight-configurator
:
https://github.com/betaflight/betaflight-configurator` - 🌿个人克隆工程,包含编译好的各型号固件以及文档:
https://gitee.com/perseverance51/betaflight
- 📑BetaFlight参数配置解读内容文章还在写,可以去参考其它的文章。
这是DIY手搓无人机飞控的可选方案,结合AM32开源电调,可以实现无人机控制+驱动的基本要求。
📗Betaflight 简介
Betaflight 是一个开源的飞行控制器(Flight Controller, FC)固件项目,专为多旋翼飞行器(如无人机)设计。它广泛应用于竞速无人机、航拍无人机以及其他类型的多轴飞行器中。Betaflight 提供了高度可定制的飞行控制算法和丰富的功能,帮助用户优化飞行性能和操控体验。
- 目前Betaflight 固件支持的mcu主控:STM32F4、STM32F7 和 STM32H7 系列,以及AT32F435的主控芯片.但是具体细分飞控型号就非常多,从上面的型号参数配置文件来看,多达433个型号。
📙本地固件编译环境简单说明
这里主要介绍通用型号固件的编译,如果你需要一次性编译具体飞控型号或自定义配置的固件,需要使用配置比较麻烦的云编译方式。具体如何搭建编译环境可以看云编译项目说明,这里不做云编译介绍。
- 云编译项目:
https://github.com/betaflight/cloudbuild
- 先将项目工程git克隆下来:
https://github.com/betaflight/betaflight
- 下载并解压arm-none-eabi-gcc编译器,将对应bin目录添加到电脑的系统环境变量中。(默认使用的是10.3.0,(Version 10.3-2021.10):gcc-arm-none-eabi:https://developer.arm.com/downloads/-/gnu-rm)
如果没有安装,编译时会自动下载编译器安装包。
- 下载并解压mingw64,将对应的bin目录添加到电脑的系统环境变量中。
🌼编译型号说明
- 🌿目前所支持的mcu型号
make TARGET=STM32F405
make TARGET=STM32F411
make TARGET=STM32F446
make TARGET=STM32F745
make TARGET=STM32F7X2
make TARGET=STM32G47X
make TARGET=STM32H723
make TARGET=STM32H725
make TARGET=STM32H730
make TARGET=STM32H743
make TARGET=STM32H750
make TARGET=AT32F435G
make TARGET=AT32F435M
- 可以编译的固件:
- 如果需要下载特定型号的固件,需要使用地面站软件Betaflight Configurator,里面提供了固件升级功能,可以在线下载飞控厂家指定型号的固件。
本地默认编译出来的固件烧录后,是没有配置任何参数的,需要结合上面给出的配置资源连接,将相对应型号的配置内容或文件形式加载到地面站软件中,进行配置,保存到控制器上。
⚡需要注意一点,上传完配置参数后,记得还要输入
save
按回车保存,飞控板会自动重启。否则参数不会被保存。
- 由于我没有成品飞控板,拿了一块stm32f405的开发板烧录固件验证,好多外设没有,没办法解锁和实现电机调参功能:
- 可以连接SSD1306 I2C OLED显示一击WS2812灯带这些简单的测试。
- 连接WS2812灯带测试
- 烧录过固件的飞控板虽然没法解锁和电机控制,但是还是可以连接AM32电调参数查看一击给电调烧录固件这些操作。
- 通过
am32.ca
在线网站,可以给ESC电调进行固件更新。
个人编译好的通用型号固件以及源码还有98分型号说明文档放置在上面的gitee项目中。
📘自定义组件云编译
- 通过地面站软件
Betaflight Configurator
,支持自定义组件,进行云编译和固件烧录。
-
通过USB接口连接后,选择固件更新。
-
点开固件烧写工具
-
可以直接选择对应型号固件,或者自定义配置选项功能块,然后选择
从网络加载固件
-
等待云编译完成
5.完成之后可以,可以烧录固件。
- 自定义云编译查询配置方法:
https://build.betaflight.com/api/builds/替换为自己的BuildKeyjson
直接粘贴到浏览器中查询:https://build.betaflight.com/api/builds/cf47d700d5e6b41c9c5dd30bb57e55bb/json
{
"Identifier": "cf47d700-d5e6-b41c-9c5d-d30bb57e55bb",
"Key": "cf47d700d5e6b41c9c5dd30bb57e55bb",
"Request": {
"Target": "AIKONF4",
"Release": "4.5.2",
"Commit": "4.5.2",
"Options": [
"CLOUD_BUILD",
"USE_ACRO_TRAINER",
"USE_DSHOT",
"USE_LED_STRIP",
"USE_PINIO",
"USE_PPM",
"USE_RX_PPM",
"USE_SERVOS",
"USE_VTX"
],
"Tag": "4.5.X",
"ConfigHash": "sha256_c6253cbc3c4db6963f627317913e8db9a7959a71a498f6ef66f32ec701181603"
},
"Config": {
"Target": "AIKONF4",
"Manufacturer": "AIKO",
"MCU": "STM32F405",
"Configuration": [],
"BuildFlags": []
},
"Status": "success",
"Size": 926196,
"Elapsed": 23171,
"Hash": "sha256_c9df73a30f5f13f87e57dd4cb7f7801b6838578edfcaac72c31ab1604610353c",
"Submitted": "2025-04-08T13:54:48.8331953Z",
"ApiVersion": "8.0.300.0",
"Client": {
"Version": "10.10.0",
"IpAddress": "2408:8252:1211:b6cf:b903:7e7e:96be:25fa",
"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
"Country": "CN",
"Continent": "Asia",
"Address": "2408:8252:1211:b6cf:b903:7e7e:96be:25fa"
},
"Completed": "2025-04-08T13:56:11.262506Z"
}