madflight
madflight
ESP32, 飞控/无人机
3/5
已发布
项目简介
ESP32/Raspberry Pico/STM32飞行控制器。
madflight 是一个面向 DIY 爱好者和开发者的开源飞行控制器工具箱,旨在帮助用户以极低的成本快速构建高性能的无人机或固定翼飞行器。其核心亮点在于,仅需不到10美元,利用市面上常见的开发板(如 ESP32-S3、ESP32、RP2350、RP2040 或 STM32)和传感器模块(如 MPU6000、BMI270、ICM42688P 等),就能组装出一个功能完整的飞行控制器。项目支持在 Arduino IDE 或 PlatformIO 环境下进行开发,极大降低了入门门槛。
标签
项目特点
**多平台支持**:支持 ESP32-S3/ESP32、RP2350/RP2040 和 STM32 等多种微控制器。
**低成本**:使用常见的开发板和传感器模块,构建成本可低于10美元。
**易于上手**:提供 Arduino IDE 和 PlatformIO 的快速入门指南,以及详细的示例程序。
**功能完整**:示例程序包含完整的飞行控制逻辑,支持四轴飞行器和固定翼飞机。
**丰富的传感器支持**:支持多种 IMU、GPS、气压计、磁力计、电流/电压传感器和光流传感器。
**开源文档**:源代码和官方网站提供详尽的文档,解释各项设置和函数的功能。
**活跃的社区**:通过 GitHub Discussions 提供社区支持。
技术规格
| 支持的微控制器 | ESP32-S3, ESP32, RP2350, RP2040, STM32 |
|---|---|
| 开发环境 | Arduino IDE, PlatformIO |
| 支持的 IMU 传感器 | MPU6000, MPU6050, MPU6500, MPU9250, BMI270, ICM42688P 等 |
| RC 接收机协议 | MAVLink, ELRS, CRSF, SBUS, DMSX, PPM |
| 可选传感器 | GPS (串口), 气压计 (I2C: BMP390, BMP388, BMP280, MS5611), 磁力计 (I2C: QMC5883L), 电流/电压传感器 (ADC 或 I2C: INA226, INA228), 光流传感器 (I2C) |
| 飞行模式 | 四轴飞行器, 固定翼飞机 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| 开发板 (RP2350/RP2040, ESP32-S3/ESP32, STM32) | 1 | — | 例如 Raspberry Pi Pico/Pico2, ESP32 DevKitC, Black Pill |
| IMU 传感器 (MPU6000, MPU6050, MPU6500, MPU9250, BMI270, ICM42688P 等) | 1 | — | 核心传感器,用于姿态解算 |
| RC 接收机 (MAVLink, ELRS, CRSF, SBUS, DMSX, PPM) | 1 | — | 用于遥控信号输入 |
| GPS 模块 | 1 | — | 用于定位和导航 |
| 气压计 (BMP390, BMP388, BMP280, MS5611) | 1 | — | 用于高度测量 |
| 磁力计 (QMC5883L) | 1 | — | 用于航向测量 |
| 电流/电压传感器 (INA226, INA228) | 1 | — | 用于电源监测 |
| 光流传感器 | 1 | — | 用于视觉定位 |
能力画像
⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 3/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 2/5
⚪ 数理与计算: 3/5
⚪ 动手与操作: 4/5
⚪ 狂热与坚持: 3/5
⚪ 创造与创新: 3/5
项目图库
所需技能
🔧 **动手能力**:需要焊接电子元件、连接线缆、组装飞行器机架,以及调试硬件。
💻 **编程能力**:需要熟悉 Arduino IDE 或 PlatformIO 环境,能够编写和修改 C/C++ 代码,理解飞行控制逻辑。
⚡ **电子电路**:需要了解基本的电子电路知识,如 I2C、UART、ADC 等通信协议,以及如何连接传感器和接收机。
适用场景
**DIY 无人机爱好者**:适合想要从零开始构建自己专属四轴飞行器或固定翼飞机的爱好者。
**教育学习**:适合学习嵌入式系统、传感器融合、飞行控制算法等知识的学生和开发者。
**低成本原型开发**:适合需要快速、低成本地验证飞行控制方案的工程师和研究人员。
**开源社区贡献**:适合希望参与开源项目,贡献代码或文档的开发者。