ESP32-MINI-Drone-A 使用教程

一、项目简介​

未标题-1_01.jpg

基于ESP32开发板的迷你四轴无人机,主控使用ESP32开发板,仅使用一块陀螺仪传感器,自带WEB遥控器。极简的硬件和软件设计更容易上手,只需简单的焊接和固件刷写,无需复杂配置即可起飞。

飞机自带网页遥控器,手机访问即可控制,不需要额外安装APP或实体遥控。当然也支持APP和实体遥控。

简约而不简单,每处细节都经过仔细打磨!

规格参数

  • 主控:ESP32
  • 轴距:约118mm
  • 重量:约80克(含标准电池)


快速上手

三、项目复刻​

照着做,肯定能飞!复刻仅需三步:

  • 硬件组装
  • 软件刷写
  • 简单调试

第一步 硬件组装​

1、下载 本页面附件中的【物料清单表格】,对照物料清单准备材料并制作PCB

全散件含PCB.jpg

PCB板厚度尽量使用1.6mm,底座和支架的插接尺寸是按1.6mm设计的。

主要部件尽量购买质量好一些的,配件质量参差不齐,会直接影响制作效果。

开发板为ESP32 30PIN,没接触过开发板的朋友需要注意ESP开发板有较多版本C3/S3/CAM等,需要的是ESP32没有后缀的版本,针脚30针。

电池为1S航模/无人机电池,电压3.7-4.2V,不要买普通锂电池,需要较高的放电倍率。

全部物料清单在本页面底部附件中的【物料清单表格】,有型号、封装和详细说明。BOM表仅含电路元件,且直接下单可能会匹配错误,仅供参考。

2、拆解PCB。 前后左右为电机座和支架部分,中间为主控板部分,新的PCB加了对应分割的丝印。
组装前要把主控板部分和电机座、挂架分开。拆解的时候可以借助工具,用水口钳可以很容易的剪开。


3、焊接元件。 如果是用电烙铁焊接,建议先焊接最小的贴片元件,再焊接较大的贴片元件,最后焊接插接元件和排针、针座等。


主控板上有两个较大的470uf电容,是为了缓解电池压力,如果买的电池品质比较好,可以不用这两个电容。LED灯也是非必要部件,可以不装。

陀螺仪模块可以贴着主控板焊接,不用排针,可以减小安装偏差。如果焊接不熟练建议使用排针焊接。


陀螺仪模块可以只焊接VCC / GND / SCL / SDA / AD0 / NCS这几个引脚,也可以把全部引脚都焊上。


建议焊接完成后先用万用表简单测试电路是否有虚焊、短路,确认没有问题再通电。30年老焊工电烙铁焊接0603元件也不能保证一次成功。

4、焊接电机底座和支架。 电机座能在飞机失控时很好的保护无人机,也当做整个飞机的支撑使用。建议安装。
支架可以用来放电池,支架高度12mm,厚度小于12mm的电池都可以放得下,可以再用个皮筋固定一下电池。
支架附近都留有焊盘,用焊锡加固。
焊好的样子


背面


5、安装电机。 电机转动方向必须按指定方向,PCB板有转向对应丝印,且对角的两个电机方向一致。
建议使用2个黑白线和2个红蓝线电机,区分颜色安装更直观,PCB板丝印标明了线颜色和正负;也可以使用4只相同颜色线的电机。
电机由胶圈固定到支架上,或者直接用热熔胶固定。
电机转动方向参考:

c8766ad3b08d4debabcf14898cebf512.png

6、安装桨叶。 桨叶也必须按照指定方向安装!
电机按标识方向转动时桨叶高的一侧在前面,向下吹风。且对角的桨叶方向一致。可以参考下图的安装方向。
最稳妥的办法是调试完成后,解锁电机,确认4个桨叶都是向下吹风。
电机和桨叶的机械强度有限,安装时不要太过用力,安紧即可。

IMG_1973.jpg

桨叶保护罩是3D打印件,模型文件在附件,可以下载打印。装上比较安全,建议安装。

第二步 软件刷写

1、下载编译好的BIN固件文件。
琛光E1_MINI固件20261021.bin

2、使用USB数据线连接ESP32开发板和电脑。(如果电脑没有自动安装串口驱动则需要手动安装,可在电脑设备管理器中查看。)

3、使用乐鑫官方工具刷写。 刷写工具下载地址:https://docs.espressif.com/projects/esp-test-tools/zh_CN/latest/esp32/production_stage/tools/flash_download_tool.html

刷写设置:

Snipaste_2026-05-07_22-11-50.png

Snipaste_2026-07-15_23-59-31.png

串口号如果不知道是哪一个,可以插拔开发板,看哪个串口号变动就选哪一个

第三步 调试、起飞

1、给无人机接好电池,手机连接无人机WIFI:Drone_WIFI,密码:12345678。
部分手机有自动网络优化功能,会自动切换无线和流量,需要关闭;或者更直接的办法:关闭手机流量。

2、打开手机浏览器,输入地址:http://192.168.4.1 确认后打开遥控器界面。

IMG_2032.jpg

3、调试。 在网页遥控器中点击“调试”按钮,在弹出的调试界面中可以输入调试命令。建议调试前先摘掉桨叶。

- 校准IMU(必做)。输入调试命令“ca”,按照提示摆放无人机。参考这段提示:

1/6 水平放置:机头朝前(正常飞行方向),底部朝下水平放置在平坦表面,确保完全水平无倾斜。保持不动,8秒后开始校准;
水平校准完成。请继续。
2/6 机头朝上:保持机头朝前,将机头指向天空,尾部朝下并接触支撑面,与地面垂直。保持不动,8秒后开始校准;
机头向上校准完成。请继续。
3/6 机头朝下:保持机头朝前,将机头指向地面并接触支撑面,尾部朝上,与地面垂直。保持不动,8秒后开始校准;
机头向下校准完成。请继续。
4/6 右侧朝下:保持机头朝前,将飞行器右侧朝下并接触支撑面,左侧机臂朝上,与地面垂直。保持不动,8秒后开始校准;
右侧向下校准完成。请继续。
5/6 左侧朝下:保持机头朝前,将飞行器左侧朝下并接触支撑面,右侧机臂朝上,与地面垂直。保持不动,8秒后开始校准;
左侧向下校准完成。请继续。
6/6 倒置放置:保持机头朝前,将飞行器完全翻转,顶部朝下、底部朝上,整体呈水平倒置状态。保持不动,8秒后开始校准;
✓全部校准完成!将机身放正,执行ps命令查看校准结果。

校准完成后,将无人机放正(顶部朝上),输入命令“ps”查看校准结果。会看到类似:

roll: 0.521120 pitch: -0.062948 yaw: 82.711197

roll/pitch接近于0即校准成功,正常范围0.5以内,合格范围2以内,超过5需要重新校准。
yaw可忽略,mpu6500没有磁力计,yaw轴为虚拟计算数值。
IMU校准只需要完成一次,以后如果没有大的偏差、硬件更换、固件重写就不需要再做。

- 测试电机(选做)。先去掉电机上的桨叶!以免伤人!
分别输入命令“mfl/mfr/mrl/mrr”对应左前、右前、左后、右后4个电机,观察4个电机是否正常转动。

如果手机屏幕过小,调试不方便,也可以使用arduino或GQC调试。参考深入研究章节中的内容。

4、起飞。点击解锁按钮,推油门,起飞!

20260405_174937.mp4_20260407_113851.090.jpg

四、深入研究

如果只是简单复刻,以下部分可忽略。

本项目遵循CC BY-NC-SA开源协议,未经授权禁止商用。

相关资源

软硬件文档、常见问题:http://docs.cherglowtech.com/

配套地面站(开发中):https://gc.cherglowtech.com/

开源飞控源码:https://github.com/songge8/CF-Drone
飞控软件使用arduino开发,可以使用arduino进行开发、编译,arduino IDE自带的控制台,也可用于飞机调试。 飞机也可以使用任意开发语言编写的飞控程序,只要能匹配硬件ESP32、MPU6500即可。

设计图、原理图:https://pro.lceda.cn/editor#id=05f7ecdc689445648d7267c7c936f432

预留接口

主板预留4组数据接口,默认为I2C、SPI、遥控接收机、备用。可用于连接传感器、遥控等外部设备或给外部设备供电。

琛光传感器扩展模块完美适配预留接口,包含气压计、磁力计、激光测距仪、光流传感器,可实现定高或定点悬停。飞控会自动识别相应传感器是否存在,自动开启定高、定点飞行模式。

预留一套无刷电调接口,可无损改装无刷电机。

支持实体遥控、手机APP遥控和MAVLINK协议​

实体遥控​

主板预留的遥控接收机接口,支持主流的CRSF(ELRS)/SBUS遥控协议。SBUS已实现软件反向,无需硬件反向器;CRSF(ELRS)支持单向控制输入,只需接 接收机GND、5V、TX → 无人机G、V、IO4。

实体遥控设置方法:

  • 确保遥控和接收机连接正常,接收机协议设置正确;
  • 连接无人机和接收机;
  • 通过控制台命令设置接收机接口机协议和相应的波特率:RC_PROTOCOL,遥控协议,0=SBUS,1=CRSF(ELRS)(默认);RC_BAUD,遥控串口波特率(bps),SBUS=100000,CRSF=420000(默认);命令格式示例:P RC_PROTOCOL 1;
  • 校准遥控,控制台使用CR命令按提示操作;
  • 左摇杆右下打满为解锁,左下为上锁

QGC手机APP​

APP可在QGC官网https://qgroundcontrol.com/ 下载。 除了可以用于控制飞机,APP-Analyze Tools-Mavlink控制台也可以用于飞控调试。

MAVLINK​

固件支持MAVLINK协议。

无线模式​

网页遥控/APP遥控支持AP模式(默认)和STA模式。

图传​

可以参考评论区或视频教程评论中网友的实现方案。

五、更新日志​

V1.3​

  • 预留数据接口扩展为4组,默认为I2C、SPI、ELRS/CRSF/SBUS、备用;
  • 重新计算尺寸、位置数据,更高的机械精度;
  • 重新布线,保留完整地平面且进行分区

常见问题

几处有极性的器件连接技巧​

不同硬件版本元件位置和方向可能不同,以实际PCB丝印为准。

  • 二极管,元件竖线为负极,对应PCB丝印竖线。
  • LED,元件正面绿色脚/背面箭头方向为负极,对应PCB丝印尖头。
  • 电解电容,元件黑色标记为负极,元件底面形状对应PCB丝印形状即可。
  • 电机线接头,电机线和插头线有一根颜色一致即可,红对红,黑对黑。(此条非行业标准,仅针对物料包器件)

元件焊接位置​

通过以下任一方式都可以

烧录固件时无法下载/卡在同步​

烧录过程大约几十秒钟,如果报错、过短、过长时间没有完成,按照以下项目逐项排查:

  • 数据线直接插电脑USB口,不要使用USB HUB或拓展坞。

  • 数据线建议使用安卓手机数据线。有些只有充电功能的数据线无数据传输功能。

  • 检查串口驱动是否安装成功,驱动安装好后,在 电脑设备管理器-端口 项目下,应该能看到类似"USB-SERIAL CH340(COMX)"。
    如果看不到端口,安装CH340或对应串口芯片驱动后再试。
    CH340驱动官方下载地址https://www.wch.cn/downloads/CH341SER_MAC_ZIP.html

  • 不要同时打开arduino和乐鑫刷写工具,串口会被占用。

  • 确认刷写工具开发板型号选择正确,核对刷写工具标题栏显示的开发板型号是ESP32。

  • 可能开发板没有进入下载模式。按如下操作:
    开发板插入USB,打开ESP32烧录软件,选择开发板串口,按住开发板BOOT键不松,点击烧录软件START,看到开始连接后松开BOOT键,开发板进入下载模式。

  • 确认是从官方渠道(工程文档、QQ群文件等)下载的对应型号的固件。其它三方固件,MINI/Nano固件不通用。

  • 烧录地址“0x00”,其中“0”为阿拉伯数字,“x”为英文,不能用其它字符代替。

  • 确认选择了正确的开发板串口号。开发板串口号必须选择,不能手动输入。

无人机WIFI找不到/连不上

  • 通常无人机WIFI信号会在通电后几十秒内出现,手机刷新信号会有一定延迟,如果长时间没有出现请按下面步骤排查。

  • 开发板不插无人机,单独连接USB数据线,避免线路短路造成开发板无法正常启动,影响问题判断。

  • 确认是从官方渠道(工程文档、QQ群文件等)下载的对应型号的固件。其它三方固件可能没有WIFI功能,MINI/Nano固件不通用。

  • 确认固件已正确写入,建议使用最新固件,有时电脑接口/数据线接触不良造成写入错误会导致WIFI无法连接、密码错误,可以更换电脑接口/数据线,清除开发板存储后重新刷写固件再试。

  • 正确的默认WIFI名称:Drone_WiFi,密码:12345678(机身上有)。
    如果修改过账号密码请使用修改后的账号密码连接,忘记密码可以清除开发板存储后重刷固件重置。
    ESP_XXXXXX 开头WIFI信号为开发板出厂默认信号,说明没有成功刷写固件,刷写固件后再试。

  • 电池电量过低可能无法驱动WIFI。

  • 正确写入固件后,开发板重新上电,开发板蓝色指示灯会闪一下。如果蓝色指示灯不亮或常亮,说明固件没有成功写入或程序没有成功运行,按下面的方法排查。
    关闭刷写工具/Arduino,防止端口占用,打开网页控制台https://tools.cherglowtech.com/espwebconsole/ ,连接开发板串口,查看是否有报错信息。

E (30) qio_mode: Failed to set QIE bit, not enabling QIO mode
assert failed: __esp_system_init_fn_init_flash startup_funcs.c:118 (flash_ret == ESP_OK)
Backtrace: 0x4008c03c:0x3ffe3a70 0x4008c001:0x3ffe3a90 0x40092905:0x3ffe3ab0 0x400fa6df:0x3ffe3bf0 0x400fbc26:0x3ffe3c10 0x400fbc5e:0x3ffe3c30 0x40081dd6:0x3ffe3c60 0x40079912:0x3ffe3c90 |<-CORRUPTED
ELF file SHA256: 242e6edee
E (408) esp_core_dump_flash: Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0
E (416) esp_core_dump_elf: Elf write init failed!
E (421) esp_core_dump_common: Core dump write failed with error=-1
Rebooting...

如果控制台循环显示以上信息,请截图联系客服,开发板需要返厂检查。

网页遥控打不开

  • 连接前先确认无人机固件已刷写好。

  • 确认是从官方渠道(工程文档、QQ群文件等)下载的固件。

  • 确认手机已连接上无人机WIFI,手机流量已关闭。

  • 网页遥控地址 http://192.168.4.1
    或 http://192.168.4.1:8080 (仅旧版本固件使用,已废弃)

  • 网页遥控地址中的符号全部为英文符号,不要使用中文符号。

  • 有些浏览器要区分地址栏和搜索栏,地址必须输到地址栏。

  • 不要使用微信/QQ内置浏览器,这些浏览器一般会有特殊限制。

提示IMU故障

项目中常提到的IMU、陀螺仪模块、姿态传感器、加速度计实际都是指IMU(MPU6500模块)。

这个提示说明IMU(MPU6500模块)虚焊、短路、工作不正常。

旧版固件(202609xx前的版本)不支持扩展模块,如果旧版本固件安装了扩展模块,会直接报错IMU故障。使用拓展模块建议使用最新版本固件。

解锁提示未校准加速度计

网页遥控调试或控制台使用"ca"命令,按照提示校准IMU后再操作即可。

IMU校准数据正常范围

使用ps命令查看校准后的姿态数据,roll/pitch接近于0即校准成功,正常范围0.5以内,合格范围2以内,超过5需要重新校准。yaw可忽略,mpu6500没有磁力计,yaw轴为虚拟计算数值。

IMU校准后ROLL项显示170+

将机身放正(开发板朝上,飞机底部朝下),再执行PS命令。
如果机身放正后执行PS命令仍然显示170+,说明校准不正确,需要重新执行校准操作。

IMU校准后数据都是NAN 或 PS命令显示姿态数据roll/pitch全是0.000

IMU(MPU6500模块)虚焊、短路、工作不正常。(新版固件会提示IMU故障)

IMU校准时长时间卡在第一步,甚至遥控断连

IMU(MPU6500模块)虚焊、短路、工作不正常。(新版固件会提示IMU故障)

IMU每次开机都需要校准吗?

IMU校准只需要完成一次,以后如果没有大的偏差、硬件更换、固件重写就不需要再做。

上电后不做任何操作电机会转吗?

开发板没有刷写固件前部分引脚可能会有默认上拉,可能会启动电机。没有刷写固件前不要上电,或去掉开发板再上电。

正常情况上电后不做任何操作电机不会转,解锁后才会转。
如果上电后不做任何操作电机会转,检查这路电机的驱动电路,这种情况可能是:

  • 10K电阻虚焊;
  • MOS管烧坏导通。

解锁后(怠速时)电机有的转,有的不转

需要测试排查电机、电路问题,按下面的步骤进行:

使用网页遥控/控制台调试命令mfl/mfr/mrl/mrr依次测试(测试前去除桨叶!)。如果电机转动正常则说明电机、驱动电路硬件均正常;不转说明这一路电机或驱动电路不正常,需要继续排查。

单独测试电机好坏,把电机取下,电机正负极直连可调电源,1V电压下电机能转说明电机正常。如果没有可调电源可用1.5V干电池或无人机电池代替。

如果调试命令测试电机不转,单独测试电机正常,则判断电机驱动电路可能存在问题。检查电机驱动电路47Ω、10KΩ电阻、MOS管是否虚焊、短路、损坏。(这种情况最常见)

加油门电机转速不一致

加油门时,电机转速通过飞控姿态计算等算法实时调整,不是由电池直接供电,转速不同是正常的。但如果是侧翻或无法起飞,请按侧翻问题排查。
如果需要测试电机,使用网页遥控/控制台调试命令mfl/mfr/mrl/mrr。

加油门起飞时无人机侧翻或部分电机停转

正常起飞的必要条件:

  • 电池实际放电倍率在25C及以上(官方套件电池已实测符合要求)
  • 电池电量充足。
  • 电机旋转方向必须正确。
  • 桨叶方向安装必须正确。
  • IMU校准无误,校准误差在合格范围内。
  • 电路没有虚焊、短路。

排查以上问题后,应该都可以正常起飞。

网页遥控怎么操作​

网页遥控布局为美国手。可以在网上找一些穿越机操控教程学习。

左摇杆上下为油门,左右为偏航;右摇杆为上下为俯仰,左右为横滚。
这是无人机的专业叫法,新手可能误解,所以新版固件中改成大白话了:
左摇杆,上:油门加;下:油门减;左:左转;右:右转;
右摇杆,上:前进;下:后退;左:左移;右:右移。

飞行模式说明​

特技(穿越机模式):手动油门,松油门自动回零;手动控制姿态,姿态不自动回正。
自稳(穿越机模式):手动油门,松油门自动回零;手动控制姿态,姿态自动回正。
定高(类似某疆飞行模式,需配合传感器模块,安装后自动识别):自动油门,油门控制高度上下,松油门自动保持高度;手动控制水平方向;
定点(类似某疆飞行模式,需配合传感器模块,安装后自动识别):自动油门,油门控制高度上下,松油门固定高度悬停;自动保持水平方向,可手动调整,松手固定位置悬停。

无人机起飞后漂移​

B站视频【琛光E1四轴飞行器漂移的分析和处理】
https://www.bilibili.com/video/BV1Jisd6pE64/

飞行距离/高度​

理论可达几百米,但因为没有图传,只能在视距内飞行,实际几十米外就已经看不清飞机在哪了。

为什么收到的电池没电?​

电池的最佳存放状态是半电,而且电池会自放电,所以收到不是满电的。充满电再使用即可。

套件中带有充电线,推荐使用5V1A充电头,标准电池约1小时左右充满,充电时充电线亮红灯,充满灯灭。

指示灯闪/不亮​

电池接口旁LED、开发板红色指示灯为电源指示灯,上电后应该常亮。不亮或闪烁为供电有问题,检查供电电路。

开发板蓝色指示灯默认为状态指示灯。上电闪一下:程序自检。慢闪:解锁正常。快闪:报警(电量低、遥控失联等)。

飞机背面指示灯为电机运行指示灯,亮灭和电机通电状态一致:电机通电指示灯亮,电机断电指示灯灭,解锁前不亮,解锁后亮。

飞机背面电机指示灯亮度不一致/闪烁:电机指示灯亮度随电机转速变化,解锁后电机转速受算法控制实时变化,是正常现象。

MOS管烧坏​

可能烧坏MOS管的情况:

  • 电机接线短路;
  • 电机堵转;
  • 二极管接反、虚焊;

找不到BIN固件​

固件在工程文档中、QQ群文件都可以下载到。

PS:源码为固件编译前的源代码,无法直接烧录使用,源码中没有固件。

PS:固件为琛光科技开发,均在琛光相关渠道提供;不要到乐鑫的刷写工具目录里或者刷写工具页面去找。

哪里的固件是最新的?​

一般QQ群文件里的固件会更新一些,且最新测试版固件一般会发在QQ群;

立创硬件开源平台的固件一般为稳定版,且更新频率会稍微慢一些。

最新固件一般会领先稳定版固件数十个小版本,很多问题已在新版固件优化,但也可能会有未知问题,可以根据自身情况使用稳定版或新版固件。

U7U8U9U10/H3H4/H5H6是空的吗?​

这些是预留接口,是空的。

U7U8U9U10为预留电调接口,如需改装无刷电机可用此接口连接电调;

H3为预留遥控器接收机接口,H4为备用预留接口;

H5H6为数据传输预留接口,默认适配琛光扩展模块。


下载

固件​

琛光E1_MINI固件20261021.bin

保护圈3D模型​

E1_MINI保护罩20260329.stl

第三方工具、驱动​

ESP32刷写工具​

https://docs.espressif.com/projects/esp-test-tools/zh_CN/latest/esp32/production_stage/tools/flash_download_tool.html

ESP32串口驱动​

CH340驱动:
https://www.wch.cn/downloads/CH341SER_MAC_ZIP.html


技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841