
基于ESP32开发板的迷你四轴无人机,主控使用ESP32开发板,仅使用一块陀螺仪传感器,自带WEB遥控器。极简的硬件和软件设计更容易上手,只需简单的焊接和固件刷写,无需复杂配置即可起飞。
飞机自带网页遥控器,手机访问即可控制,不需要额外安装APP或实体遥控。当然也支持APP和实体遥控。
简约而不简单,每处细节都经过仔细打磨!
照着做,肯定能飞!复刻仅需三步:
1、下载 本页面附件中的【物料清单表格】,对照物料清单准备材料并制作PCB

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只相同颜色线的电机。
电机由胶圈固定到支架上,或者直接用热熔胶固定。
电机转动方向参考:

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

桨叶保护罩是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
刷写设置:


串口号如果不知道是哪一个,可以插拔开发板,看哪个串口号变动就选哪一个
1、给无人机接好电池,手机连接无人机WIFI:Drone_WIFI,密码:12345678。
部分手机有自动网络优化功能,会自动切换无线和流量,需要关闭;或者更直接的办法:关闭手机流量。
2、打开手机浏览器,输入地址:http://192.168.4.1 确认后打开遥控器界面。

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、起飞。点击解锁按钮,推油门,起飞!

如果只是简单复刻,以下部分可忽略。
本项目遵循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、遥控接收机、备用。可用于连接传感器、遥控等外部设备或给外部设备供电。
琛光传感器扩展模块完美适配预留接口,包含气压计、磁力计、激光测距仪、光流传感器,可实现定高或定点悬停。飞控会自动识别相应传感器是否存在,自动开启定高、定点飞行模式。
预留一套无刷电调接口,可无损改装无刷电机。
主板预留的遥控接收机接口,支持主流的CRSF(ELRS)/SBUS遥控协议。SBUS已实现软件反向,无需硬件反向器;CRSF(ELRS)支持单向控制输入,只需接 接收机GND、5V、TX → 无人机G、V、IO4。
实体遥控设置方法:
APP可在QGC官网https://qgroundcontrol.com/ 下载。 除了可以用于控制飞机,APP-Analyze Tools-Mavlink控制台也可以用于飞控调试。
固件支持MAVLINK协议。
网页遥控/APP遥控支持AP模式(默认)和STA模式。
可以参考评论区或视频教程评论中网友的实现方案。
不同硬件版本元件位置和方向可能不同,以实际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信号会在通电后几十秒内出现,手机刷新信号会有一定延迟,如果长时间没有出现请按下面步骤排查。
开发板不插无人机,单独连接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(MPU6500模块)。
这个提示说明IMU(MPU6500模块)虚焊、短路、工作不正常。
旧版固件(202609xx前的版本)不支持扩展模块,如果旧版本固件安装了扩展模块,会直接报错IMU故障。使用拓展模块建议使用最新版本固件。
网页遥控调试或控制台使用"ca"命令,按照提示校准IMU后再操作即可。
使用ps命令查看校准后的姿态数据,roll/pitch接近于0即校准成功,正常范围0.5以内,合格范围2以内,超过5需要重新校准。yaw可忽略,mpu6500没有磁力计,yaw轴为虚拟计算数值。
将机身放正(开发板朝上,飞机底部朝下),再执行PS命令。
如果机身放正后执行PS命令仍然显示170+,说明校准不正确,需要重新执行校准操作。
IMU(MPU6500模块)虚焊、短路、工作不正常。(新版固件会提示IMU故障)
IMU(MPU6500模块)虚焊、短路、工作不正常。(新版固件会提示IMU故障)
IMU校准只需要完成一次,以后如果没有大的偏差、硬件更换、固件重写就不需要再做。
开发板没有刷写固件前部分引脚可能会有默认上拉,可能会启动电机。没有刷写固件前不要上电,或去掉开发板再上电。
正常情况上电后不做任何操作电机不会转,解锁后才会转。
如果上电后不做任何操作电机会转,检查这路电机的驱动电路,这种情况可能是:
需要测试排查电机、电路问题,按下面的步骤进行:
使用网页遥控/控制台调试命令mfl/mfr/mrl/mrr依次测试(测试前去除桨叶!)。如果电机转动正常则说明电机、驱动电路硬件均正常;不转说明这一路电机或驱动电路不正常,需要继续排查。
单独测试电机好坏,把电机取下,电机正负极直连可调电源,1V电压下电机能转说明电机正常。如果没有可调电源可用1.5V干电池或无人机电池代替。
如果调试命令测试电机不转,单独测试电机正常,则判断电机驱动电路可能存在问题。检查电机驱动电路47Ω、10KΩ电阻、MOS管是否虚焊、短路、损坏。(这种情况最常见)
加油门时,电机转速通过飞控姿态计算等算法实时调整,不是由电池直接供电,转速不同是正常的。但如果是侧翻或无法起飞,请按侧翻问题排查。
如果需要测试电机,使用网页遥控/控制台调试命令mfl/mfr/mrl/mrr。
正常起飞的必要条件:
排查以上问题后,应该都可以正常起飞。
网页遥控布局为美国手。可以在网上找一些穿越机操控教程学习。
左摇杆上下为油门,左右为偏航;右摇杆为上下为俯仰,左右为横滚。
这是无人机的专业叫法,新手可能误解,所以新版固件中改成大白话了:
左摇杆,上:油门加;下:油门减;左:左转;右:右转;
右摇杆,上:前进;下:后退;左:左移;右:右移。
特技(穿越机模式):手动油门,松油门自动回零;手动控制姿态,姿态不自动回正。
自稳(穿越机模式):手动油门,松油门自动回零;手动控制姿态,姿态自动回正。
定高(类似某疆飞行模式,需配合传感器模块,安装后自动识别):自动油门,油门控制高度上下,松油门自动保持高度;手动控制水平方向;
定点(类似某疆飞行模式,需配合传感器模块,安装后自动识别):自动油门,油门控制高度上下,松油门固定高度悬停;自动保持水平方向,可手动调整,松手固定位置悬停。
B站视频【琛光E1四轴飞行器漂移的分析和处理】
https://www.bilibili.com/video/BV1Jisd6pE64/
理论可达几百米,但因为没有图传,只能在视距内飞行,实际几十米外就已经看不清飞机在哪了。
电池的最佳存放状态是半电,而且电池会自放电,所以收到不是满电的。充满电再使用即可。
套件中带有充电线,推荐使用5V1A充电头,标准电池约1小时左右充满,充电时充电线亮红灯,充满灯灭。
电池接口旁LED、开发板红色指示灯为电源指示灯,上电后应该常亮。不亮或闪烁为供电有问题,检查供电电路。
开发板蓝色指示灯默认为状态指示灯。上电闪一下:程序自检。慢闪:解锁正常。快闪:报警(电量低、遥控失联等)。
飞机背面指示灯为电机运行指示灯,亮灭和电机通电状态一致:电机通电指示灯亮,电机断电指示灯灭,解锁前不亮,解锁后亮。
飞机背面电机指示灯亮度不一致/闪烁:电机指示灯亮度随电机转速变化,解锁后电机转速受算法控制实时变化,是正常现象。
可能烧坏MOS管的情况:
固件在工程文档中、QQ群文件都可以下载到。
PS:源码为固件编译前的源代码,无法直接烧录使用,源码中没有固件。
PS:固件为琛光科技开发,均在琛光相关渠道提供;不要到乐鑫的刷写工具目录里或者刷写工具页面去找。
一般QQ群文件里的固件会更新一些,且最新测试版固件一般会发在QQ群;
立创硬件开源平台的固件一般为稳定版,且更新频率会稍微慢一些。
最新固件一般会领先稳定版固件数十个小版本,很多问题已在新版固件优化,但也可能会有未知问题,可以根据自身情况使用稳定版或新版固件。
这些是预留接口,是空的。
U7U8U9U10为预留电调接口,如需改装无刷电机可用此接口连接电调;
H3为预留遥控器接收机接口,H4为备用预留接口;
H5H6为数据传输预留接口,默认适配琛光扩展模块。
CH340驱动:
https://www.wch.cn/downloads/CH341SER_MAC_ZIP.html
周一-周五(9:30-6:30)周六(9:30-5:30)
手机:13434470212
邮箱:services04@spotpear.cn
QQ:202004841
