news 2026/8/18 14:16:08

零基础打造你的第一架 ESP32 开源无人机:从配件清单到首飞的全流程教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
零基础打造你的第一架 ESP32 开源无人机:从配件清单到首飞的全流程教程

零基础打造你的第一架 ESP32 开源无人机:从配件清单到首飞的全流程教程

【免费下载链接】esp-droneMini Drone/Quadcopter Firmware for ESP32 and ESP32-S Series SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-drone

想亲手做一架能飞、能悬停、还能用手机控制的无人机,却总被"要懂飞控算法""要会画PCB"这些门槛劝退?好消息是,ESP32 开源无人机项目 ESP-Drone 把这条路彻底铺平了:它把 Crazyflie 这套成熟的开源飞控代码移植到了乐鑫 ESP32 系列芯片上,硬件即插即用,代码开箱即编译。这篇 ESP32 无人机入门教程,将带你从拆开快递包裹开始,一路走到按下油门、看着飞机离地的那一刻。

完成这篇教程后,你会得到什么

按部就班走完全程,你手中会有一架可以随时起飞的四旋翼小飞机,同时收获三样东西:

  • ✅ 一架组装完毕、可稳定悬停的 ESP32-S2 四旋翼(支持自稳定、定高、定点三种飞行模式)
  • ✅ 一套能随时重新编译、重新烧录的飞控固件,想改参数随时改
  • ✅ 手机 APP、PC 上位机两套控制与调试手段,飞行数据尽在掌握

整个过程不需要焊接高密度芯片,也不需要读懂每一行飞控代码——跟着下面的步骤走就行。

先认识一下你的"新伙伴"

在动手之前,花两分钟搞清楚这架飞机是怎么工作的,后面遇到问题才不会一头雾水。

ESP-Drone 的"大脑"是主控板上的 ESP32-S2 模组,它同时干三件事:跑飞控程序、当 Wi-Fi 热点、跟手机通信。传感器的"眼睛"是一颗 MPU6050 六轴传感器(内置陀螺仪 + 加速度计),负责感知机身倾斜和转动。飞控代码则来自 Bitcraze 的 Crazyflie 开源工程——这是学术界和极客圈非常知名的微型四旋翼项目,ESP-Drone 团队把它移植到了 ESP32 上,所以稳定性相当有保障。

这套方案最妙的设计是模块化:主控板负责基础飞行,想升级功能时,往扩展接口上插一块扩展板即可——插上光流 + 激光测距模块就能定点悬停,插上气压计就能定高。相关源码都集中在 components/core/crazyflie/,硬件设计文件则在 hardware/ 目录下,全部开放。

出发前,先把装备清点一遍

开箱前先对照清单,确认配件齐全。这是 ESP32-S2-Drone V1.2 的标准配置:

物品规格说明
主控板ESP32-S2-WROVER + MPU6050板载 4MB Flash + 2MB PSRAM
电机716 空心杯电机 × 4可换成 720 电机(需改配置)
螺旋桨46mm 桨 A × 2、B × 2A/B 转向不同,别装错
锂电池300mAh 1S可换 350mAh 高倍率电池
充电板1S 锂电池充电板 × 1配套使用
其他电机橡胶圈 × 4、8-pin 排针 × 2减震和扩展用

软件侧需要准备:一台能联网的电脑、手机(装 ESP-Drone APP,Android 与 iOS 都有)、一个 ESP-IDF v5.0 开发环境。手柄是可选项,后面进阶再配也不迟。

第一阶段:把散件变成一架能飞的飞机

组装是整个流程里最"手工"的部分,但别紧张,这架飞机的结构简单到像拼积木。

  1. 拆板:PCB 板沿预切割线轻轻掰开,得到主板和扩展排针,然后整理电机、桨叶和连接线。
  2. 装脚架:把 4 个塑料支撑脚对准孔位按压,听到"咔"一声就到位了。
  3. 焊电机:用电烙铁把 4 个电机的引线焊到主板对应焊点上。红线接正极。⚠️ 注意:单点焊接时间不要超过 3 秒,避免烫坏焊盘和邻近元件;新手建议先用废旧电路板练手。
  4. 装桨:桨叶分 A、B 两种转向。参照下图——黑色桨装在标 CW 的电机上,红色桨装在标 CCW 的电机上,装反了飞机会直接翻车。
  5. 接电池:把锂电池插头插入主板 JST 接口,红对正、黑对负。此时白色电源灯常亮,说明系统供电正常。

完整的组装流程图和管脚定义,见 docs/zh_CN/rst/hardware.rst 和下面的示意图。

💡 小贴士:别急着把电池焊死在主板上,用可插拔的 JST 接口,以后换电池、充电都方便。

第二阶段:给飞机装上"大脑"——编译固件

硬件就位,接下来把源码变成能跑的固件。这一阶段全部在电脑上完成,不需要碰螺丝刀。

1. 搭建编译环境

按 ESP-IDF 官方指引安装release/v5.0 分支的 ESP-IDF(这是项目指定的版本,用别的版本可能编译不过)。装完后先编译一个官方示例工程,确认环境本身没问题,再往下走——这一步能帮你把"环境问题"和"项目问题"分开。

2. 拉取项目源码

git clone https://gitcode.com/GitHub_Trending/es/esp-drone cd esp-drone

3. 指定目标芯片

idf.py set-target esp32s2

默认情况下,目标设为 esp32s2 后,硬件会自动切换为 ESP32_S2_Drone_V1_2 配置。如果你用的是 ESP32 老开发板,则设idf.py set-target esp32

4. 打开配置菜单

idf.py menuconfig

ESPDrone Config菜单里,你可以看到硬件版本选择、扩展板版本、Wi-Fi 参数、校准角度等配置项。默认值开箱即用,建议先什么都不改直接编译。几个值得知道的选项:

  • Wi-Fi Base SSID:默认 "ESP-DRONE",最终热点名会是 "ESP-DRONE-XXXX"(XXXX 取自 MAC 地址)
  • Wi-Fi Password:默认 12345678
  • calibration angle:如果起飞后发现机身倾斜,可以在这里填角度修正值(单位是 度×100)

5. 编译并烧录

idf.py build idf.py flash monitor

编译通过后,用 USB 线连接主控板,烧录完成后会自动进入串口监视器。看到系统日志正常打印、没有红色错误,固件就算装好了。想退出监视器按Ctrl+]

✅ 完成标志:小飞机上电后,蓝色 LED 先慢闪(传感器校准),随后变为正常闪烁(系统就绪)。

第三阶段:把手机和飞机"配对"

ESP-Drone 自己就是一个 Wi-Fi 热点,配对过程就是普通连 Wi-Fi:

  1. 给小飞机上电,等蓝色 LED 正常闪烁。
  2. 打开手机 Wi-Fi 设置,找到名为ESP-DRONE_XXXX的热点,输入密码12345678连接。
  3. 打开 ESP-Drone APP,点击Connect按钮。连接成功后,小飞机绿灯闪烁——通信已建立。

APP 里有两个地方建议提前看一眼:

  • Flight control settings:默认 Mode2(左手油门)、死区 0.2,还有最大倾角 15°、最大油门 90% 等安全限制,新手期保持默认即可。
  • Advanced flight control:默认开启,它控制的是最大角度/油门的保护上限,别轻易调大。

首次起飞:一份"起飞前检查单"

第一次起飞前,花一分钟按这份清单过一遍,能帮你避开 90% 的新手事故:

  • 飞机头部朝前,天线朝自己,放在绝对水平的桌面上再上电(保证传感器校准准确)
  • 观察蓝色 LED 是否从慢闪变为正常闪烁(校准完成、系统就绪)
  • 确认绿灯在 APP 连接后快速闪烁(通信正常)
  • 检查红灯:头部红灯亮起 = 电量不足,先充电再飞
  • 轻推左手油门,看飞机是否快速响应;轻推右手摇杆,确认方向控制正确
  • 缓慢推油门到 30% 左右,飞机离地后保持,练习悬停

⚠️ 首次飞行务必在室内、无风、地面开阔的环境进行;建议保留螺旋桨保护罩,直到你能稳定悬停为止。

飞机不听指挥?这份排查手册请收好

新手最容易遇到的三个问题,以及对应的排查路径:

问题一:上电后飞机"抖"或起飞即侧翻大概率是螺旋桨装反或电机转向不对。对照第二阶段的转向图逐一检查,再用上位机观察四个电机的输出是否正常。也可能是传感器安装不水平——在 menuconfig 的 calibration angle 里填入实测偏差(如 pitch 偏差 0.90° 就填 90)。

问题二:连不上 Wi-Fi 热点先确认蓝色 LED 处于正常闪烁状态(系统就绪后热点才会开启);然后在手机上"忘记"该网络重新连接;最后检查密码是否为默认的 12345678。仍不行就重启飞机再试。

问题三:飞行姿态飘、响应迟钝这是 PID 参数问题。使用 PC 端 cfclient 上位机(从crazyflie-clients-python安装,pip3 install -e .后运行cfclient)连接飞机,进入 Parameters 页面在线调整pid_attitude参数组——修改实时生效,不用反复烧录固件。手感参考:机身晃动过大就加大 D 值,反应迟钝就适当加大 P 值。注意在线修改掉电不保存,调试满意后要写回代码或记下来。

cfclient 还能实时绘制传感器数据波形,检查陀螺仪、加速度计读数是否正常,是进阶调试的利器:

玩熟了之后,还有这些进阶方向

当你能稳定起降、悬停,就算正式"毕业"了。接下来可以往这几个方向探索:

  1. 定点悬停:给主控板插上定点扩展板(PMW3901 光流 + VL53L1X 激光测距),在 menuconfig 里开启 Position Hold 模式,飞机就能在室内"钉"在某个点上。光流驱动在 components/drivers/spi_devices/pmw3901/,激光测距驱动在 components/drivers/i2c_devices/vl53l1/。
  2. 定高飞行:加装 MS5611 气压计扩展板,切换到定高模式,解放你的油门手指。
  3. 游戏手柄操控:通过 cfclient 绑定手柄摇杆(Roll/Pitch/Yaw/Thrust 四轴),体验更接近真实航模的操控感。
  4. 代码改造:飞控核心在 components/core/crazyflie/modules/src/,比如研究 controller_pid.c 理解姿态控制原理,或者看 planner.c 了解路径规划。想搞多机编队,通信链路在 components/core/crazyflie/hal/src/wifilink.c。

资料都在哪:一份资源地图

  • 官方文档:docs/zh_CN/rst/ 下按主题分好了快速入门、硬件参考、开发指引、飞控系统、通信协议
  • 硬件资料:hardware/ 里有各版本主板/扩展板的原理图、PCB 和 BOM 清单
  • APP 源码:ESP-Drone 的 iOS 与 Android 应用均为开源项目,可自行编译改造
  • 交流渠道:项目本身接受 Pull Request,遇到问题也欢迎在开源社区提问

写在最后

这一趟走下来,你收获的不只是"一架能飞的无人机"这个结果,更是一整套嵌入式开发的工作流:从看懂硬件结构,到编译烧录固件,再到通过上位机调试控制参数——这些能力在任何物联网项目里都能复用。ESP-Drone 的妙处在于,它把"造飞机"这件事拆成了一个个新手能跨过的台阶,而每一级台阶背后,都是一片可以继续深挖的领域:飞控算法、传感器融合、无线通信……

当你的小飞机第一次稳稳悬停在半空时,那种"我真的把它造出来了"的成就感,值得你亲手体验一次。下一架飞机,试着从改一行 PID 参数开始,让它飞得更顺、更远吧。

【免费下载链接】esp-droneMini Drone/Quadcopter Firmware for ESP32 and ESP32-S Series SoCs.项目地址: https://gitcode.com/GitHub_Trending/es/esp-drone

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/18 14:14:25

2D游戏法线贴图还在手绘?这款免费开源神器让你告别深夜加班

2D游戏法线贴图还在手绘?这款免费开源神器让你告别深夜加班 【免费下载链接】laigter Laigter: automatic normal map generator for sprites! 项目地址: https://gitcode.com/gh_mirrors/la/laigter 凌晨一点半,我的桌面还亮着。像素骑士的披风在…

作者头像 李华
网站建设 2026/8/18 14:07:36

QMCDecode 实战解析:QQ音乐 QMC 加密音频还原 FLAC/MP3 的完整指南

QMCDecode 实战解析:QQ音乐 QMC 加密音频还原 FLAC/MP3 的完整指南 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录&…

作者头像 李华
网站建设 2026/8/18 14:07:00

TVA-World架构:AGI基础算法研究启示录(9)

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“AI智能体视觉”或“TVA视觉智能体”)是依托Transformer架构与“因式智能体”理论构建的系统级视觉技术框架。它融合深度强化学习(DRL)、卷积神…

作者头像 李华