# flix_cpp **Repository Path**: px4_dev/flix_cpp ## Basic Information - **Project Name**: flix_cpp - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-11-05 - **Last Updated**: 2026-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
Flix (flight + X) — 基于 ESP32 从零构建的开源微型四旋翼无人机飞控项目
| 版本 1.1 (3D 打印一体机架) | 版本 0 (手工简易机架) |
![]() |
![]() |
* 版本 0 初代试飞视频:https://youtu.be/8GzzIQ3C6DQ
* 教育实训营应用展示 (RoboCamp 2025):https://youtu.be/Wd3yaorjTx0
* 更多社区创作者机型展示请浏览 [用户制作机型画廊](docs/user.md):
### Flix2 官方集成 PCB 板
官方集成硬件版 *(Flix2)* 正在持续推进中(基于 ESP32-S3、八线 Octal PSRAM 与 ICM-40609-D 高性能 IMU)。您可关注 [官方 Telegram 频道](https://t.me/opensourcequadcopter) 获取最新进展。
当前 Flix2 原型机的室外试飞演示:
---
## 文档导航
### 核心指南
1. [硬件组装指南](docs/assembly.md) — 零起点的焊接与安装步骤
2. [使用说明:固件配置与飞行操作](docs/usage.md) — 参数配置、传感器标定与地面站连接
3. [Gazebo 仿真指南](gazebo/README.md) — 仿真环境配置与多机仿真
4. [Python 脚本开发库](tools/pyflix/README.md) — 通过 Python 控制飞行
5. [**C++17 / ESP-IDF 固件移植与编译手册**](doc/PORTING_GUIDE.md) — **本项目 C++ 原生构建与工具链教程**
### 进阶技术文档
* [用户制作机型展厅](docs/user.md)
* [固件系统架构解析](docs/firmware.md)
* [常见故障排查手册](docs/troubleshooting.md)
* [飞行黑匣子日志分析](docs/log.md)
---
## 硬件物料清单 (BOM)
| 类型 | 部件名称 | 实物参考 | 数量 | 说明 |
| - | - | :-: | :-: | - |
| **主控核心板** | ESP32 Mini
| 1 | 飞控计算与无线数传核心 |
| **IMU(含气压计¹)模块** | GY‑91 / MPU-9265

| 1 | 惯性测量单元,提供角速度与加速度输入 |
| *升压模块(可选)* | *5V 升降压输出模块* |
| 1 | *用于在大电流油门输出时提供更稳定的系统供电* |
| **空心杯电机** | 8520 3.7V 有刷空心杯电机 |
| 4 | 需选购标称 **3.7V** 专用电机(勿选 3.7V~6V 宽压电机),且确保电机轴径与桨孔匹配 |
| **螺旋桨** | 55 mm 或 65 mm 正反桨 |
| 4 | 正桨 A × 2,反桨 B × 2 |
| **MOSFET (驱动场效应管)** | UMW 100N03A 或 [同类兼容型号](https://t.me/opensourcequadcopter/33) |
| 4 | **警告**:请勿使用 KIA 100N03A 或劣质厂商芯片,否则低导通电压可能无法驱动电机 |
| **电阻** | 10 kΩ 贴片/色环电阻 |
| 6 | 4 个用作 MOSFET 栅极下拉电阻,2 个用作电池分压采样 |
| **动力锂电池** | 3.7V 1S Li-Po 电池 (LW 952540 或尺寸兼容型号) |
| 1 | 必须具备足够的放电倍率与容量,**强烈建议 25C 以上倍率,容量 1000 mAh 或更高**! |
| **电池连接线** | MX2.0 2P 母头端子线 |
| 1 | 电池电源接入端子 |
| **充电器** | 1S 锂电池专用充电器 |
| 1 | 任意兼容 3.7V 单节锂电池的充电器 |
| **IMU 安装螺丝** | M3x5 沉头/圆头螺丝 |
| 2 | 固定 IMU 传感器板 |
| **机架装配螺丝** | M1.4x5 自攻螺丝 |
| 1 | 推荐打印参数:层高 0.2 mm,线宽 0.4 mm,填充率 100% |
| **机架顶部盖板** | 3D 打印件:[`stl`](docs/assets/esp32-holder.stl) / [`step`](docs/assets/esp32-holder.step) |
| 1 | 固定 ESP32 主控 |
| **IMU 减震垫圈** | 3D 打印件:[`stl`](docs/assets/washer-m3.stl) / [`step`](docs/assets/washer-m3.step) |
| 2 | 隔离电机高频振动传导 |
| **遥控设备(推荐)** | • CC2500 遥控器(如 BetaFPV LiteRadio CC2500,走硬件接收机或 Wi-Fi)
| 1 | 操控飞行器 |
| *独立遥控接收机(可选)* | *DF500 或其它 SBUS 接收机³* |
| 1 | *仅在使用传统硬件无线遥控时需要* |
| **配线** | 28 AWG 超软硅胶线 |
| 适量 | 模块间信号与供电走线 |
| **辅助物料** | 绝缘胶带、高粘双面胶 | | 适量 | 固定电池与模块 |
*¹ — 气压计定高目前处于固件接口预留阶段。*
*² — 该机架针对 GY-91 模块开孔优化;若选用其它 IMU 传感器板,请根据孔位微调螺丝定位点。*
*³ — 支持任何具备 SBUS 标准反相协议的发射机-接收机套件。*
### 所需装配工具
* 3D 打印机(用于打印机架、固定座与垫圈)
* 电烙铁与焊锡丝(建议带松香助焊剂)
* 小型十字/一字螺丝刀套件
* 数字万用表(用于焊接后检查电源短路及分压比校验)
欢迎自由修改机械与电气设计,打造您专属的定制版本。您可以将您的改进成果与试飞体验分享至 [官方 Telegram 交流群](https://t.me/opensourcequadcopterchat),或直接联系原项目作者([E-mail](mailto:okalachev@gmail.com) / [Telegram](https://t.me/okalachev))。
---
## 电气原理图与接线规范
### 简化接线拓扑图
社区开发者贡献的完整无人机电路连线参考详见 [Miro 在线原理图面板](https://miro.com/app/board/uXjVN-dTjoo=/?moveToWidget=3458764612338222067&cot=14)。
### 引脚接线要点
1. **系统电源**:
* 将 3.7V 锂电池的正极 (+) 连接至 ESP32 Mini 的 VCC 引脚,负极 (-) 连接至 GND 引脚。
2. **IMU 传感器(以 SPI 方式为例)**:
* 使用 VSPI 总线连接 ESP32 Mini 与 IMU 板,通过 3.3V 和 GND 引脚为传感器供电:
| IMU 引脚 | ESP32 引脚 | 说明 |
| - | - | - |
| **GND** | **GND** | 接地 |
| **3.3V / VCC** | **3.3V** | 传感器核心供电 |
| **SCL (SCK)** | **GPIO18** | SPI 时钟线 (SCK) |
| **SDA (MOSI)** | **GPIO23** | SPI 主出从入 (MOSI) |
| **SAO (MISO)** | **GPIO19** | SPI 主入从出 (MISO) |
| **NCS (CS)** | **GPIO5** | 片选信号 (CS) |
3. **MOSFET 电机驱动连接**:
* 在每个 MOSFET 的栅极(Gate)与源极(Source/GND)之间并联焊接 10 kΩ 下拉电阻,防止开机瞬间悬空误触发。
s* 按照下表将 4 路电机驱动连接至 ESP32 的 PWM 引脚:
| 电机编号 | 机身物理方位 | 旋转方向 | 匹配桨叶 | 电机导线颜色 | ESP32 GPIO |
| - | - | - | - | - | - |
| **电机 0** | 左后方 (Rear Left) | 逆时针 (CCW) | **B 桨** | 黑白双绞线 | **GPIO12** *(TDI)* |
| **电机 1** | 右后方 (Rear Right) | 顺时针 (CW) | **A 桨** | 蓝红双绞线 | **GPIO13** *(TCK)* |
| **电机 2** | 右前方 (Front Right) | 逆时针 (CCW) | **B 桨** | 黑白双绞线 | **GPIO14** *(TMS)* |
| **电机 3** | 左前方 (Front Left) | 顺时针 (CW) | **A 桨** | 蓝红双绞线 | **GPIO15** *(TD0)* |
> **注意**:顺时针电机为蓝红引线,匹配 A 桨(桨叶表面印有标示);逆时针电机为黑白引线,匹配 B 桨。
4. **SBUS 遥控接收机(可选配置)**:
* 连接至 ESP32 的 UART1/UART2 接收引脚:
| 接收机引脚 | ESP32 引脚 |
| - | - |
| **GND** | **GND** |
| **VIN** | **VCC** (或 3.3V,根据接收机工作电压选择) |
| **Signal (TX)** | **GPIO4** |
5. **电池电压分压采集(可选配置)**:
* 连接至任意 ADC1 引脚(例如 ESP32 的 *GPIO32*、ESP32-S3 的 *GPIO3*)。
* 由于 ESP32/ESP32-S3 的 ADC 输入量程限制,请按照电池 4.2V 满电电压合理选择两枚分压电阻的阻值比例。
---
## 社区与外部资源
* [Telegram 官方开发频道](https://t.me/opensourcequadcopter)(俄语 / 英语)
* [Telegram 官方交流群](https://t.me/opensourcequadcopterchat)
* [Habr.com 深度开发专访长文](https://habr.com/ru/articles/814127/)(详细记录从零制作无人机的工程思考)
---
## 免责声明 (Disclaimer)
本项目属于开源创客 DIY 实验性工程。尽管我们在算法稳定性与软件设计上做了大量测试与完善,但组装与调参仍存在一定技术门槛,项目源码与软硬件资料均按“现状”(AS-IS)提供,不包含任何明示或暗示的保证。
⚠️ **安全警告**:高速旋转的螺旋桨具有一定危险性。作者与贡献者对因使用本项目造成的任何直接或间接财产损坏、人身伤害概不承担责任。飞行前请务必在安全、空旷或带防护网的环境下进行测试,佩戴防护眼镜并注意用电与防火安全!