100 元预算造出会悬停的无人机:ESP-Drone 开源固件从零上手完整指南

发布时间:2026/10/21 3:27:24
100 元预算造出会悬停的无人机:ESP-Drone 开源固件从零上手完整指南 100 元预算造出会悬停的无人机ESP-Drone 开源固件从零上手完整指南【免费下载链接】esp-droneMini Drone/Quadcopter Firmware for ESP32 and ESP32-S Series SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-drone想自己造一架会悬停的四旋翼商业机动辄几千元开源飞控又常常绑死在别的芯片上——没有 Wi-Fi、没有现成的手机控制折腾一圈容易不了了之。ESP-Drone 把这件事的门槛压到了百元级它是一套跑在乐鑫 ESP32-S2 上的完整开源无人机方案飞控算法来自成熟的 Crazyflie 项目主控板就是一块小 PCB 加几颗标准传感器固件烧进去、手机连上它自己的 Wi-Fi 热点就能起飞。入门成本可以先量化一下硬件是主控板ESP32-S2 MPU6050 4 个 720 有刷电机 电池散件参考价 100~150 元软件是标准 ESP-IDF v5.0 工程三条命令出固件。默认配置用互补滤波器做姿态估计你不需要先学会卡尔曼滤波也能让它平飞。 一百多块的会飞实验室凭什么能悬停主板上只有三样关键器件其余全是标准件ESP-Drone 的硬件思路是主板只装必需品高级功能上扩展板位置器件角色备注主控板ESP32-S2240MHz飞控大脑 Wi-Fi 热点片上 Wi-Fi省掉额外数传模块主控板MPU6050六轴 IMU陀螺仪加速度计中断驱动 1kHz 出数自稳定的地基扩展板PMW3901 VL53L1X光流 激光测距室内定点飞行装在机身底部扩展板MS5611气压计绝对高度解锁定高模式扩展板HMC5883L罗盘航向解锁无头模式机臂4 × 720 有刷电机推力输出PWM 直驱结构极简已支持的整机共三种ESP32-S2-Drone V1.2默认、ESPlane-V2-S2 和老版本 ESPlane-FC-V1都可以在编译选项里切换。飞控代码不是玩具Crazyflie 内核整体移植ESP-Drone 最值钱的不是硬件而是 components/core/crazyflie/ 这套飞控核心它移植自 Bitcraze 的 Crazyflie 开源项目GPL3.02021.01 版本那套代码支撑过多机集群研究不是教学 demo。移植后做了三件关键的本地化工作FreeRTOS 任务分工全机拆成十几个任务稳定器任务优先级最高7传感器任务次之6卡尔曼任务因为吃 CPU 在单核下被降到 1——这套优先级表写在 components/config/include/config.h是读懂整个系统的地图DSP 库专门移植components/lib/dsp_lib/ 把 DSP 函数适配到 ESP32 指令集姿态数学不再是 CPU 瓶颈ESP-IDF 打底NVS 存储、Wi-Fi 协议栈、LEDC PWM 电机驱动都由框架提供你只写飞控逻辑。⚡ 一毫秒一跳1kHz 飞控主循环里发生了什么传感器分工谁管姿态、谁管高度、谁管位置姿态稳定靠的是几路不同性格的数据MPU6050六轴 IMU1000Hz。管机身歪了多少、转得多快。它像闭着眼睛感知平衡——短期极准但没有绝对参考单用会漂移MS5611 气压计50Hz。管离地多高。更新慢但知道绝对值正好补 IMU 的长项HMC5883L 罗盘20Hz。管朝向哪个方向无头模式靠它PMW3901 光流 VL53L1X 激光管相对地面挪了多少室内定点飞行靠它们。互补滤波和卡尔曼滤波做的事本质就是给这些数据按可信度加权——IMU 权重高快但会漂气压和光流按各自频率补进来。数据流水线从原始读数到电机 PWM主循环在 components/core/crazyflie/modules/src/stabilizer.c源码注释写得很直白The stabilizer loop runs at 1kHz (stock) or 500Hz (kalman)。每一跳按固定顺序做五件事等传感器MPU6050 用中断通知有新数据任务被 1kHz 唤醒不是忙轮询状态估计默认互补滤波器便宜、快可通过参数在线切到卡尔曼滤波器estimator_kalman.c解析目标点commanderGetSetpoint 取出手机 App 发来的最新指令油门、Roll、Pitch、Yaw姿态控制PID 控制器controller_pid.c对比期望姿态与实际姿态算出角速率修正也可换 indi、mellinger 控制器功率分配总推力和姿态修正拆给 4 个电机经 LEDC 输出 PWM。还有一个细节值得看一眼循环频率由 rateSupervisor 盯着偏离 997~1003Hz 就打印警告。飞得不稳时先确认这个数在不在区间再怀疑别的。三种飞行模式共用同一条流水线模式之间的差别不在代码框架而在往流水线里塞了什么传感器模式需要什么硬件数据依据自稳定 Stabilize仅主控板MPU6050你手动给油门定高 Height-hold MS5611 气压扩展板气压 IMU固件锁高度定点 Position-hold PMW3901/VL53L1X 光流扩展板光流 激光 IMU锁空间位置扩展板走主板上的 I2C/SPI/GPIO 接口固件默认开自动检测插上就能用。 三条命令起飞编译、烧录、连上手机出固件ESP-IDF v5.0 一条流水线前置条件装好 ESP-IDF release/v5.0主控板用 USB 连上电脑。git clone https://gitcode.com/GitHub_Trending/es/esp-drone cd esp-drone idf.py set-target esp32s2 idf.py build idf.py flash monitorset-target esp32s2会自动把硬件定义切到 ESP32_S2_Drone_V1_2用别的机架就再跑一次idf.py menuconfig切换。ESP32 和 ESP32-S3 也受支持。烧录完成后 monitor 串口里出现 Ready to fly.说明传感器已校准完毕。连上 ESP-DRONE 热点手机 App 起飞无人机自己就是一个 Wi-Fi 接入点参数默认值如下均可在 main/Kconfig.projbuild 里改SSIDESP-DRONE_XXXXXXXX 是板卡 MAC 末四位密码12345678信道默认 6最多同时连 3 台手机Android 和 iOS 都有 ESP-Drone App连上热点即可摇杆控制用游戏手柄的话ESP-BOX3 通过 ESP-NOW 协议接入延迟更低。cfclient 看日志、在线调 PIDcfclient 是 Crazyflie 配套的 Python 上位机走 Wi-Fi 连上无人机后实时看飞行日志加速度、姿态角、目标点曲线肉眼判断哪个环在抖在线改 PID 参数先速率环 P让机身听话再加 D 压振荡最后动外环切换控制器、读取系统状态不用重新编译。 它还能干什么课堂、多机与魔改方向课堂一节能上天的嵌入式课ESP-Drone 的目录本身就是教学大纲main/main.c 三步走完启动流程NVS 初始化 → platformInit → systemLaunchconfig.h 的任务优先级表讲 FreeRTOS 调度estimator_kalman.c 讲滤波器controller_pid.c 讲控制理论。学生在同一块板上把传感器 → 融合 → 控制 → PWM全链路读一遍比任何 PPT 都直观。加一块扩展板解锁一个模式主板预留了 I2C、SPI 和 GPIO 扩展接口官方扩展板就三种光流板定点、气压板定高、罗盘板无头。想装自己的传感器把驱动丢进 components/drivers/照着 i2c_devices 下现成的 mpu6050、ms5611 写法抄结构即可。自定义钩子源码里已经埋好的方向多机协同peer_localization.c 里有机间相对定位的原型多台走 Wi-Fi 组网即可扩展成编队自主航线planner.c 和 pptraj.c 提供轨迹规划框架避障collision_avoidance.c 的接口在 stabilizer.c 里以注释形式预留接上测距传感器即可启用。需要说明官方自 2022 年 12 月起转为有限支持项目主要靠社区 PR 维护——但核心代码完整可跑正是适合二次开发的成熟度。 卡在哪了先看这张排错表现象先怀疑什么去哪看起飞前电机转向混乱、机身打转电机接线顺序或电机定义顺序components/drivers/general/motors/motors.c悬停时上下/前后抖动某环 PID 增益失配cfclient 在线调参对照 controller_pid.c高度缓慢漂移气压计温漂、气流扰动estimator_kalman.c 的融合参数定点模式越飞越偏光流窗口脏污或地面光照不足components/drivers/spi_devices/pmw3901/pmw3901.c飞行中 Wi-Fi 断连信道干扰、距离过远menuconfig 里改 WIFI_CHANNEL驱动在 wifi_esp32.c资料都在仓库里官方文档中英双语 RST快速入门/硬件参考/驱动说明docs/硬件原理图、PCB、Gerber 与 BOMhardware/飞控核心源码components/core/crazyflie/全部编译选项Wi-Fi、校准角、电机、引脚main/Kconfig.projbuild主控板到手按组装图拧好四条机臂三条命令出固件连上手机热点——你的第一次起飞完全可以定在这个周末。飞起来之后你会忍不住去 cfclient 里改第一个 PID 参数、插上第一块光流扩展板、在 modules 里写第一行自己的代码这正是 ESP-Drone 的设计意图。哪一步卡住了提 Issue 或者直接发 PR这个仓库一直在等新的提交。【免费下载链接】esp-droneMini Drone/Quadcopter Firmware for ESP32 and ESP32-S Series SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-drone创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询