ESP32-S3 开发环境搭建完全指南
一、ESP32-S3 是什么?为什么选它?
ESP32-S3 是乐鑫(Espressif)推出的一款高性能物联网芯片,相比前代 ESP32,主要升级点:
- 双核 Xtensa LX7,主频 240MHz,算力更强
- 内置 AI 指令集,支持向量指令加速,适合轻量级 AI 推理
- 丰富的外设接口:SPI、I2C、UART、I2S、USB OTG、GDMA 等
- 原生 USB 支持:可直接作为 USB 设备使用,无需外部 USB 转串口芯片
- 更多 GPIO:45 个可编程 GPIO
- Wi-Fi + BLE 5.0 双无线连接
一句话总结:如果你要做 IoT 项目,又需要 USB 外设、AI 推理或更多 GPIO,ESP32-S3 是当前性价比最高的选择之一。
二、硬件准备
| 物品 | 说明 |
|---|---|
| ESP32-S3 开发板 | 本教程使用 正点原子 ESP32 AI BOX1(主控 ESP32-S3R8,8MB PSRAM + 16MB Flash) |
| USB Type-C 数据线 | 注意必须是数据线,很多充电线只能供电无法通信 |
| 电脑 | Windows / macOS / Linux 均可,本教程以 Windows 为主 |
三、开发环境选择:两种方案对比
| ESP-IDF | Arduino IDE | |
|---|---|---|
| 定位 | 官方 SDK,功能最全 | 上手最简单 |
| 适合人群 | 专业开发者 | 初学者 / 快速原型 |
| 学习曲线 | 较陡 | 平缓 |
| 功能完整性 | ★★★★★ | ★★★☆☆ |
| 调试支持 | 完整(JTAG) | 有限 |
建议:如果你是新手,先从 Arduino IDE 开始;如果需要用到 ESP-IDF 的高级功能(如 Wi-Fi 底层、FreeRTOS 调度优化),直接上 ESP-IDF。
四、方案一:ESP-IDF(官方推荐)
ESP-IDF(Espressif IoT Development Framework)是乐鑫官方维护的开发框架,基于 FreeRTOS,提供完整的 Wi-Fi、蓝牙、外设驱动和工具链。
4.1 下载并运行一键安装器
- 访问 ESP-IDF 官方下载页面:
https://dl.espressif.com/dl/esp-idf/ - 下载 ESP-IDF Tools Installer(Windows 版
.exe安装包) - 运行安装程序,按以下步骤操作:
安装向导关键选项:
├── 选择安装模式 → 选 "Desktop"(桌面开发)
├── 选择 ESP-IDF 版本 → 推荐选最新稳定版(v5.x)
├── 安装路径 → 不要有中文和空格,如 D:\esp-idf
├── 工具链路径 → 如 D:\esp-tools
└── 点 "Install" 等待完成(约 10-15 分钟,会自动安装 Python、交叉编译器、CMake、Ninja 等)
- 安装完成后,桌面上会出现 ESP-IDF PowerShell 和 ESP-IDF CMD 两个快捷方式。
4.2 验证安装
打开 ESP-IDF PowerShell,执行:
idf.py --version
如果输出类似 ESP-IDF v5.x.x 的版本号,说明安装成功。
再执行:
idf.py --list-targets
确认列表中包含 esp32s3。
4.3 配置 VS Code 开发环境
命令行开发效率低,推荐用 VS Code + ESP-IDF 插件:
- 安装 VS Code
- 在扩展商店搜索 ESP-IDF,安装由 Espressif 官方发布的插件
- 按
F1打开命令面板,输入ESP-IDF: Configure ESP-IDF Extension - 选择
Use Existing Setup,插件会自动检测你之前安装的 ESP-IDF 路径 - 配置完成后,底部状态栏会出现 ESP-IDF 相关按钮
提示:如果插件未自动检测到路径,手动填写:
- ESP-IDF 路径:
D:\esp-idf\v5.x\esp-idf- 工具链路径:
D:\esp-tools
五、方案二:Arduino IDE(最简单)
5.1 安装 Arduino IDE
- 访问
https://www.arduino.cc/en/software - 下载并安装 Arduino IDE 2.x(推荐 2.3+ 版本)
5.2 添加 ESP32 板卡支持
- 打开 Arduino IDE → File → Preferences
- 找到 Additional Board Manager URLs,填入:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- 点击 OK 保存
- 进入 Tools → Board → Boards Manager
- 搜索
esp32,找到 esp32 by Espressif Systems,点击 Install - 等待下载完成(约 200MB+,耐心等待)
5.3 选择 ESP32-S3 开发板
- Tools → Board → esp32 → 选择 ESP32S3 Dev Module
- Tools → Port → 选择开发板对应的 COM 口
- 关键参数配置如下(针对正点原子 ESP32 AI BOX1):
Tools 菜单关键参数:
├── Board: "ESP32S3 Dev Module"
├── Port: COM3(你的实际端口,名称为 USB-SERIAL CH340)
├── Upload Speed: 921600
├── USB Mode: Hardware CDC and JTAG
├── Flash Size: 16MB (64Mb)
├── PSRAM: Enabled(板载 8MB PSRAM)
└── Upload Mode: UART0
六、第一个项目:运行 Hello World
两种环境用同一套逻辑,这里分别给出 Arduino IDE 和 ESP-IDF 的代码。
6.1 Arduino IDE 版本
在 Arduino IDE 编辑器中写入:
// ESP32-S3 Hello World 示例
void setup() {
Serial.begin(115200);
delay(1000); // 等待串口初始化
Serial.println("Hello, ESP32-S3!");
}
void loop() {
// 每隔 2 秒打印一次,确认程序持续运行
static int count = 0;
Serial.printf("Hello World #%d\n", count++);
delay(2000);
}
6.2 ESP-IDF 版本
在项目目录的 main/main.c 中写入:
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
void app_main(void) {
printf("Hello, ESP32-S3!\n");
int count = 0;
while (1) {
printf("Hello World #%d\n", count++);
vTaskDelay(2000 / portTICK_PERIOD_MS);
}
}
6.3 编译与烧录
Arduino IDE:
- 点击左上角 →(上传) 按钮
- 等待编译 + 烧录完成
- 打开 Tools → Serial Monitor,波特率选
115200
ESP-IDF(命令行):
# 设置目标芯片
idf.py set-target esp32s3
# 配置菜单(首次可跳过)
idf.py menuconfig
# 编译 + 烧录 + 串口监控
idf.py -p COM3 flash monitor
成功后串口会输出
Hello, ESP32-S3!,随后每 2 秒打印一行Hello World #0、Hello World #1……,说明程序已正常运行。实际运行效果如下(Arduino IDE 2.3.10):
图中展示了:在 Arduino IDE 中选择 Waveshare ESP32-S3 开发板,烧录后打开串口监视器,即可看到输出
Hello world!。
七、常见问题排查
编译失败:ESP-IDF 目标芯片未选对
原因:使用 ESP-IDF 开发时,如果没有执行 idf.py set-target esp32s3 指定目标芯片,编译会报错,常见错误信息包括 Project is not configured 或 Target not set。
解决:
在项目目录下执行以下命令,指定目标芯片为 ESP32-S3:
idf.py set-target esp32s3
执行后会自动生成对应的编译配置文件,之后重新编译即可:
idf.py build
提示:
set-target只需在项目初始化时执行一次。如果后续切换了 ESP-IDF 版本或修改了sdkconfig,可能需要重新执行。
八、参考资源
- ESP-IDF 官方文档:
https://docs.espressif.com/projects/esp-idf/- Arduino-ESP32 GitHub:
https://github.com/espressif/arduino-esp32- 正点原子 ESP32-S3 开发板资料:
http://www.openedv.com/- ESP32-S3 数据手册:
https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf
