ESP-Drone: 乐鑫 ESP32/ESP32-S2/ESP32-S3 开发的小型无人机解决方案
目录
概述
ESP-Drone 是基于乐鑫 ESP32/ESP32-S2/ESP32-S3 开发的小型无人机解决方案,可使用手机 APP 或游戏手柄通过 Wi-Fi 网络进行连接和控制。该方案硬件结构简单,代码架构清晰,支持功能扩展,可用于 STEAM 教育等领域。
1 主要特性
ESP-Drone 具备以下特性:
支持自稳定模式 (Stabilize mode):自动控制机身水平,保持平稳飞行。支持定高模式 (Height-hold mode):自动控制油门输出,保持固定高度。支持定点模式 (Position-hold mode):自动控制机身角度,保持固定空间位置。支持 PC 上位机调试:使用 cfclient 上位机进行静态/动态调试。支持 APP 控制:使用手机 APP 通过 Wi-Fi 轻松控制。支持游戏手柄 (gamepad) 控制:通过 cfclient 使用游戏手柄轻松控制。
主要组件
ESP-Drone 2.0 使用模块化的设计思路,由主控板和扩展板组成。
主控制板:搭载 ESP32-S2 模组和支持基础飞行的必要传感器,并提供硬件扩展接口。扩展板:搭载扩展传感器,可对接主控制板的硬件扩展接口,支持高级飞行功能。
序号 | 模块名 | 主要元器件 | 功能 | 接口 | 安装位置 |
|---|---|---|---|---|---|
1 | 主控制板 - ESP32-S2 | ESP32-S2-WROVER + MPU6050 | 基础飞行 | 提供 I2C SPI GPIO 扩展接口 | |
2 | 扩展板 - 定点模块 | PMW3901 + VL53L1X | 室内定点飞行 | SPI + I2C | 底部,面向地面 |
3 | 扩展板 - 气压定高模块 | MS5611 气压 | 气压定高 | I2C 或 MPU6050 从机 | 顶部或底部 |
4 | 扩展板 - 指南针模块 | HMC5883 罗盘 | 无头模式等高级模式 | I2C 或 MPU6050 从机 | 顶部或底部 |
扩展配置
扩展板 | 主要传感器 | 功能 | 接口 | 安装位置 |
|---|---|---|---|---|
扩展板- 定点模块 | PMW3901 + VL53L1X | 室 内定点飞行 | SPI + I2C | 底部 ,面向地面 |
扩展板-气 压定高模块 | MS5611 气压 | 气压定高 | I2C 或 MPU6050从机 | 顶部或底部 |
扩展板 -指南针模块 | HMC5883 罗盘 | 无头模式 等高级模式 | I2C 或 MPU6050从机 | 顶部或底部 |
2 ESP-Drone无人机的硬件类型
开发板名 | 主要配置 | 备注 |
|---|---|---|
ESP32-S2-Drone V1.2 | ESP32-S2-WROVER + MPU6050 | 一体化 |
ESPlane-V2-S2 | ESP32-S2-WROVER + MPU6050 | 需安装脚架 |
ESPlane-FC-V1 | ESP32-WROOM-32D + MPU6050 | 需安装机架 |
1) ESP32-S2-Drone V1.2

配置清单如下:
基础配置清单 | 数量 | 备注 |
|---|---|---|
主板 | 1 | ESP32-S2-WROVER + MPU6050 |
716 电机 | 4 | 可配置 720 电机 |
716 电机橡胶圈 | 4 | |
46mm 螺旋桨 A | 2 | 可配置 55mm 桨 |
46mm 螺旋桨 B | 2 | |
300mAh 1s 锂电池 | 1 | 可配置 350mAh 高倍率 |
1s 锂电池充电板 | 1 | |
8-pin 25 mm 排针 | 2 |

2) ESPlane-V2-S2

3)ESPlane-FC-V1

配置清单如下:
配置清单 | 数量 | 备注 |
|---|---|---|
主板 | 1 | ESP32-WROOM-32D + MPU6050 |
机架 | 1 | |
46 mm 螺旋桨 A | 2 | |
46 mm 螺旋桨 B | 2 | |
300 mAh 1s 锂电池 | 1 | |
1s 锂电池充电板 | 1 |
3 硬件组装示意图

4 项目源代码
测试版本代码,目前放在 GitHub 仓库,可使用 git 工具获取:
git clone https://github.com/espressif/esp-drone.git项目软件主要由飞控内核、硬件驱动和依赖库组成:
- 飞控内核来自 Crazyflie 开源工程,主要包括硬件抽象层和飞控程序。
- 硬件驱动按照硬件接口进行了文件结构划分,包括 I2C 设备和 SPI 设备等。
- 依赖库包括 ESP-IDF 提供的默认组件,以及来自第三方的 DSP 等。

