手把手教你从零开始配置开发环境,并运行第一个ESP32程序
引言
ESP32 D1 R32 是一款极具性价比的开发板,它兼容Arduino UNO的引脚布局,同时搭载了强大的ESP32芯片(双核240MHz、Wi-Fi+蓝牙)。很多创客用它来制作智能家居、机器人、物联网项目。然而,对初学者来说,从零搭建开发环境并成功上传第一个程序往往会遇到不少坑。
本文将用最详细、最易懂的方式,带你完成以下任务:
- 在Windows系统上安装Arduino IDE
- 为Arduino IDE添加ESP32开发板支持
- 安装D1 R32的USB转串口驱动(CH340)
- 编写并上传一个"点亮板载LED"的程序
- 常见问题排查
相信读完本文,你就能让板子上的LED闪烁起来,为后续更复杂的项目打下坚实基础。

一、准备工作
你需要准备:
- ESP32 D1 R32开发板一块
- USB数据线一条(必须支持数据传输,很多充电线不行)
- 一台运行Windows 10/11的电脑
二、安装Arduino IDE
1. 下载安装包
打开浏览器,访问Arduino官网:
选择 Windows Win 10 and newer, 64 bits 版本,点击下载。推荐下载 .exe 安装程序(例如 arduino-ide_2.x.x_Windows_64bit.exe)。
2. 安装
双击下载的安装包,一路点击 I Agree → Next → Install。建议使用默认安装路径(C:\Program Files\Arduino IDE),避免中文字符。
安装完成后,桌面会出现Arduino IDE的快捷方式。
三、为Arduino IDE添加ESP32开发板支持
Arduino IDE默认只支持Arduino自家的板子(Uno、Nano等)。要支持ESP32,需要手动安装"开发板支持包"。
1. 打开开发板管理器
- 启动Arduino IDE
- 点击菜单栏 工具 → 开发板 → 开发板管理器
2. 添加ESP32的JSON索引地址
我们需要先告诉IDE去哪里找ESP32的板包。有两种方法:
方法一(推荐,一劳永逸):
- 点击菜单 文件 → 首选项
- 在 附加开发板管理器网址 右侧点击图标,粘贴以下地址(任选一个):
- 官方地址:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - 国内镜像(速度快):
https://dl.espressif.com/dl/package_esp32_index.json
- 官方地址:
- 点击 确定
方法二(临时,仅本次安装) :
在开发板管理器左上角的搜索框直接输入 esp32,然后点击右下角的 更多选项 → 添加 .json 链接,同样粘贴上述地址。
3. 安装esp32平台
- 在开发板管理器的搜索框中输入
esp32 - 找到 esp32 by Espressif Systems ,选择最新稳定版本(例如
3.3.8) - 点击 安装
安装过程可能需要数分钟,因为会下载工具链、编译器、库文件等。如果下载缓慢,可以更换镜像地址后重试。

4. 选择开发板
安装完成后,点击 工具 → 开发板 → ESP32 Arduino ,选择 ESP32 Dev Module。这是D1 R32最通用的板型选项。
四、安装CH340串口驱动
D1 R32使用的USB转串口芯片是 CH340。Windows不会自动安装其驱动,需要手动安装。
1. 下载驱动
搜索"CH340驱动下载",或直接访问WCH官网:http://www.wch.cn/download/CH341SER_EXE.html
2. 安装驱动
下载 CH341SER.EXE,双击运行,点击 安装。几秒钟后提示"驱动安装成功"。
3. 连接开发板并检查端口
- 用USB线连接电脑和D1 R32
- 右键点击 此电脑 → 管理 → 设备管理器
- 展开 端口 (COM和LPT)
- 你应该能看到类似
USB-SERIAL CH340 (COM3)的条目,记下COM编号(如COM3)
如果没有出现,请更换USB线或换一个USB接口。
五、编写并上传第一个程序:点亮板载LED
D1 R32的板载LED连接在 GPIO2 上,低电平点亮(或高电平,不同批次可能不同,但大部分是GPIO2高电平点亮)。
我们写一个经典的Blink程序。
1. 新建项目并编写代码
打开Arduino IDE,复制以下代码:
cpp
// 定义LED引脚为GPIO2
#define LED_BUILTIN 2
void setup() {
// 设置LED引脚为输出模式
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // 点亮LED
delay(1000); // 等待1秒
digitalWrite(LED_BUILTIN, LOW); // 熄灭LED
delay(1000); // 等待1秒
}
2. 选择端口
- 点击菜单 工具 → 端口,选择你之前在设备管理器中看到的COM口(例如COM3)
3. 编译并上传
- 点击工具栏上的 向右箭头 图标(上传)
- IDE会先编译代码,然后尝试上传。当底部日志出现
Connecting...时,按住D1 R32板子上的BOOT/FLASH按钮不放,直到上传进度条开始走动再松开按钮。 - 等待几秒钟,看到
Done uploading字样,表示上传成功。

4. 观察效果
上传完成后,开发板会自动复位。你应该看到板上的LED开始以1秒间隔闪烁。如果LED不亮,可以尝试交换 HIGH/LOW,因为不同批次板子的电平逻辑可能相反。
六、常见问题与解决方法
1. 上传时一直显示 Connecting... 然后超时失败
- 原因:ESP32没有进入下载模式。
- 解决方法 :
- 按住 BOOT 按钮不放,然后快速按一下 EN 按钮(或重新插拔USB),松开 BOOT。再重新上传。
- 或者在上传时,一直按住BOOT按钮 ,直到出现
Connecting...并且进度条开始移动再松开。
2. 设备管理器中找不到COM口
- 原因:驱动未安装、USB线不合格、USB接口接触不良。
- 解决方法 :
- 确认CH340驱动已成功安装。
- 换一根支持数据传输的USB线(很多手机充电线没有数据线)。
- 换一个电脑USB口,台式机建议插机箱背面。
3. 编译报错 'LED_BUILTIN' was not declared
- 原因 :ESP32的Arduino库中没有预定义
LED_BUILTIN(不像Arduino Uno)。 - 解决方法 :自己在代码开头用
#define LED_BUILTIN 2定义即可,如上例所示。
4. LED一直亮着或不亮
- 原因:电平逻辑不对或引脚错误。
- 解决方法 :
- 尝试将
HIGH和LOW互换。 - 确认GPIO引脚号是正确的。D1 R32的板载LED通常是GPIO2,但也有个别版本是GPIO5或GPIO4,可以查阅卖家提供的原理图或逐个测试。
- 尝试将
5. 上传成功但LED没反应
- 原因:可能开发板没有自动复位,或者程序烧录到了错误的分区。
- 解决方法 :
- 按一下板上的 EN 按钮,手动复位。
- 检查 工具 → 开发板 是否确实选择了
ESP32 Dev Module,而不是其他型号。
七、下一步:探索更多可能
点亮LED之后,你已经迈出了ESP32开发的第一步。接下来可以尝试:
- 使用外部LED:将LED连接到其他GPIO,学习控制外部设备。
- 串口通信 :使用
Serial.begin(115200)和Serial.println()在串口监视器打印信息。 - Wi-Fi联网:连接家里的Wi-Fi,实现物联网数据上传。
- 蓝牙控制:用手机APP通过BLE控制LED开关。
结语
本文详细介绍了在Windows系统下为ESP32 D1 R32搭建Arduino IDE开发环境,并成功运行了第一个点亮LED的程序。虽然过程中可能会遇到一些小坑,但只要按照步骤一步步操作,基本都能解决。希望这篇教程能帮助更多爱好者顺利入门ESP32开发。
老徐,2026/05/21 小满