轻松打造您自己的 ESP32





准备工作:
材料:










ESP32 专为移动设备、可穿戴电子设备和物联网应用而设计,结合多种专有软件,实现超低功耗。ESP32 还包含一些先进的功能,例如细粒度时钟门控、多种功耗模式和动态功耗调节。
ESP32 高度集成,内置天线开关、射频平衡器、功率放大器、低噪声接收放大器、滤波器和电源管理模块。ESP32 以极低的印刷电路板 (PCB) 要求为您的应用增添了宝贵的功能和多功能性。
ESP32 可以作为完整的独立系统运行,也可以作为主机 MCU 的从属设备运行,从而减少主应用处理器的通信堆栈开销。ESP32 可以通过其 SPI / SDIO 或 I2C / UART 接口与其他系统连接,提供 Wi-Fi 和蓝牙功能。
1、ESP32 凭借其丰富的功能成为最常见的 MCU 之一。近年来,这款 MCU 深受物联网开发者和爱好者的青睐。ESP32 集成了丰富的外设,包括电容式触摸传感器、霍尔传感器、SD 卡接口、以太网、高速 SPI、UART、I²S 和 I²C 接口。ESP32-WROOM 模块是该 MCU 的常见版本。下图展示了 ESP-WROOM 模块的示意图。
2、如您所见,该模块采用齿状侧引脚,非常适合霍比特人使用。因此,在本教程中,我们将学习如何为您的 ESP32-WROOM 制作一个分线板,并尽量减少所需的电路。值得注意的是,该电路是任何 ESP32 分线板的基础设计,因此您可以在未来的 PCB 制作中重复使用。
3、打开 Proteus 软件,进入“选择设备”窗口。点击左侧的图标(红色箭头)即可打开此窗口。打开后,在“关键字”选项卡中输入“ESP32”。由于我的库中已经有了 ESP32,所以它单独显示。
如果您的库中没有该组件,可以点击“选择设备”窗口底部的黄色栏。点击黄色栏后,将出现一个组件列表。所有组件均为 ESP32,不同之处在于闪存大小和布局。本教程中使用的是 ESP32-WROOM-32D 4Mb。下图显示了所选的组件。
4、要添加您的原理图,您只需单击“确定”并双击选择一个。
插入LED








重复步骤1,并放置LM1117、TBLOCK-l2、10uF电容、47uF电容、300欧姆电阻和一个LED(本教程中为LTST-C191KRKT)。
现在构建如下所示的电路。
步骤5
在此步骤中,我们将在所有尚未连接的 ESP32 引脚上添加一个双向终端。在本教程中,每个模块引脚都有相应的连接器。放置 CONN-SIL10、CONN-SIL18 和 CONN-SIL6,并形成如下所示的电路:
步骤6
现在,原理图已完成,单击下图所示的图标。
系统将打开一个窗口,您可以在其中布局电路板。进入“组件模式”,然后开始放置“组件窗口”中显示的组件。要放置组件,您只需在“组件窗口”中选择它们,然后点击布局窗口即可。
现在单击顶角的“自动布线器”,然后单击“开始布线”。
默认情况下,它将运行2层连接。
设计电路板





ESP32-wroom 需要几个连接才能工作。这些连接包括 VDD、地、Enable 和 Io0。VDD 和地显然是电源引脚,因此我们只需为 Enable 和 Io0 添加外部元件。Enable 必须设置为 3.3V 才能使芯片运行,通过添加一个按钮,我们可以将 Enable 引脚接地,从而重置 ESP32。当 Io0 为低电平时,模块将处于编程状态。例如,要对 ESP32-wroom 进行编程,您只需将 Io0 接地,然后将 Enable 引脚也接地。通过在 Io0 中添加一个按钮和一个上拉电阻,您可以控制何时对模块进行编程。
现在,重复步骤1,并添加按钮式PT636 SK25J SMTR、10K电阻和一个4针连接器。之后,重新排列并连接元件。下图显示了您的电路应该是什么样子。
从JLCPCB订购PCB








该项目包含 PCB,是在JLCPCB的帮助下制作的
JLCPCB免费升级了所有 6-20 层 PCB 的焊盘内通孔 (Via-in-Pad) 工艺,并提供免费沉金 (ENIG),使 PCB 产品更加稳定可靠。值得一提的是,凭借大规模生产能力,JLCPCB能够降低成本,让每个人都能真正享受到JLCPCB先进制造工艺带来的优势。在JLCPCB,您还可以仅需 2 美元即可获得 1-8 层 PCB。
前往 JLCPCB网站并创建一个免费帐户。
也可以使用 Google 帐户注册和 登录 。
步骤2 –上传Gerber文件
成功创建帐户后,单击“立即报价”并上传您的 Gerber 文件。
Gerber 文件包含有关 PCB 的信息,例如 PCB 布局信息、层信息、间距信息、轨道等等。
步骤 3 – 预览文件
一旦 Gerber 文件上传,它将显示您的电路板的预览。
确保这是您想要的电路板的 PCB 布局。
步骤4 - 选择必要的PCB选项
在 PCB 预览下方,您将看到许多选项,例如 PCB 数量、纹理、厚度、颜色等。选择所有您需要的选项。
使用Arduino IDE对ESP32进行编程

要对开发板进行编程,您需要一个 IDE 来编写代码。对于初学者,我们推荐使用 Arduino IDE。虽然它并非最佳 IDE,但它运行良好,并且对初学者来说简单直观。在熟悉 Arduino IDE 并开始创建更复杂的项目后,您可能会发现使用 带有 Platformio 扩展的 VS Code会 更有帮助。
如果您刚开始使用 ESP32,请从 Arduino IDE开始。在撰写本教程时,我们建议将旧版本 (1.8.19) 与 ESP32 配合使用。虽然版本 2 与 Arduino 配合良好,但仍存在一些错误,并且某些功能尚不支持 ESP32。
安装Arduino IDE
要运行 Arduino IDE,您需要在计算机上安装 JAVA。如果没有,请访问以下网站下载并安装最新版本: http://java.com/download。
下载Arduino IDE
要下载 Arduino IDE,请访问以下 URL:
请勿安装 2.0 版本。在撰写本教程时,我们建议将旧版本 (1.8.19) 与 ESP32 配合使用。虽然 2.0 版本与 Arduino 配合良好,但仍存在一些错误,并且某些功能尚不支持 ESP32。
向下滚动直到找到旧版本部分。
选择您的操作系统并下载软件。对于 Windows 用户,我们建议下载“Windows ZIP 文件”。
运行Arduino IDE







获取刚刚下载的文件夹并解压缩。运行名为 arduino.exe的可执行文件 (如下所示)。
在 Arduino IDE 中安装 ESP32
为了能够使用 Arduino IDE 对 ESP32 进行编程,您需要添加对 ESP32 开发板的支持。请按照以下步骤操作:
- 在“其他开发板管理器 URL ”字段中输入以下内容。这将同时添加对 ESP32 和 ESP8266 开发板的支持。
- 在“其他开发板管理器 URL ”字段中输入以下内容。这将同时添加对 ESP32 和 ESP8266 开发板的支持。
- 此后,重新启动您的 Arduino IDE。
故障排除








使用 Arduino IDE 将代码上传到 ESP32
为了向您展示如何将代码上传到您的 ESP32 开发板,我们将尝试 Arduino IDE ESP32 示例中的一个简单示例。
首先,确保在“工具”>“开发板”中选择了 ESP32。然后,前往“文件”>“示例”>“WiFi”>“WiFiScan”。
这将加载一个草图,扫描 ESP32 板范围内的 Wi-Fi 网络。
使用 USB 数据线将 ESP32 开发板连接到电脑。如果您使用的是 ESP32 DEVKIT DOIT 开发板,内置的红色 LED 灯将会亮起。这表示开发板已通电。
重要提示:您必须使用带数据线的 USB 数据线。有些充电器或移动电源的 USB 数据线仅供电,无法传输数据——这些数据线无法正常工作。
现在,按照以下步骤上传代码。
1) 前往“工具”>“开发板”,向下滚动到“ESP32”部分,然后选择您的 ESP32 开发板名称。我这里选择的是 DOIT ESP32 DEVKIT V1 开发板。
2) 前往“工具”>“端口”,然后选择一个可用的 COM 端口。如果 COM 端口显示为灰色,则表示您没有安装所需的 USB 驱动程序。在继续操作之前,请先查看“ 安装 USB 驱动程序”部分 。
3)按上传按钮
一些电路板将自动进入闪烁模式,代码将立即成功上传。
其他主板不会自动进入闪烁模式,因此您最终可能会收到以下错误。
或者类似这样:
这意味着当您尝试上传代码时,ESP32 未处于烧写模式。在这种情况下,您应该长按开发板的 BOOT 按钮,直到调试窗口中出现“正在连接...”的消息。
注意:在某些开发板中,一个简单的技巧就可以让 ESP32 自动进入烧写模式。请查看以下教程: [已解决] 无法连接到 ESP32:等待数据包头超时。
现在,代码应该已成功上传到开发板。您应该会收到“上传完成”的消息。











