资讯中心

ESP32-DevKitC-1 开发板完整指南:引脚定义、启动关键引脚与 Arduino 编程映射

📅 2026/9/14 13:48:06
ESP32-DevKitC-1 开发板完整指南:引脚定义、启动关键引脚与 Arduino 编程映射
ESP32-DevKitC-1 开发板完整指南引脚定义、启动关键引脚与 Arduino 编程映射【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32ESP32-DevKitC-1 是乐鑫官方推出的一款经典开发板基于 ESP32-WROVER-E 模组核心为 ESP32 SoC以 8 MB PSRAM 与丰富的可复用引脚著称。本文以 Arduino core for the ESP32 仓库中的官方板卡文档为主体结合pins_arduino.h引脚映射与boards.txt板卡配置系统讲解该板卡的规格、排针引脚定义、启动Strapping引脚、受限引脚以及它在 Arduino 环境下的实际使用方式帮助读者安全选脚、正确接线并顺利烧录运行第一个程序。板卡概览官方定义与仓库定位在 arduino-esp32 官方文档中ESP32-DevKitC-1 被定位为乐鑫Espressif的官方开发板见 ESP32-DevKitC-1.rst。该板以ESP32-WROVER-E 模组为核心模组内封装了ESP32 芯片因而同时具备大容量 PSRAM 与完整的外设接口。在 Arduino core 中该板对应 IDE 板型列表中的ESP32 Dev Module定义于 boards.txt选型时不需要单独选择板卡变体直接使用该通用条目即可获得完整支持。核心规格项目规格Wi-Fi802.11 b/g/n802.11n 最高 150 Mbps蓝牙Bluetooth v4.2 BR/EDR 与 BLE核心ESP32 系列 SoCESP32-WROVER-E 模组Flash集成 4 MB SPI FlashPSRAM集成 8 MB PSRAM天线PCB 天线或外接天线连接器供电排针提供 3V3 与 5V0 电源引脚其中8 MB PSRAM是 WROVER 系列模组的标志性配置配合 Arduino core 可在大内存应用如图像处理、神经网络推理缓冲中显著扩展可用堆空间。外设资源从官方文档规格清单看ESP32 芯片为这块板提供了非常全面的外设能力SD 卡SDMMC/SDIOUARTSPISDIOI2CLED PWM电机 PWMI2SIR红外脉冲计数器Pulse CounterGPIO电容触摸传感器Capacitive Touch SensorADCDACTWAI®两线汽车接口兼容 ISO 11898-1即 CAN 协议需要注意的是芯片具备这些外设并不意味着所有引脚都通过排针引出——官方文档特别提示并非所有芯片引脚都暴露到排针上。规划外设接线前务必以本文的排针引脚表为准。排针引脚定义板卡提供 J1 与 J3 两组排针。引脚类型含义如下P电源Power supplyI输入InputO输出OutputT高阻High impedanceJ1 排针No.名称类型功能13V3P3.3 V 电源2ENICHIP_PU复位3IO36IGPIO36, ADC1_CH0, S_VP4IO39IGPIO39, ADC1_CH3, S_VN5IO34IGPIO34, ADC1_CH6, VDET_16IO35IGPIO35, ADC1_CH7, VDET_27IO32I/OGPIO32, ADC1_CH4, TOUCH_CH9, XTAL_32K_P8IO33I/OGPIO33, ADC1_CH5, TOUCH_CH8, XTAL_32K_N9IO25I/OGPIO25, ADC1_CH8, DAC_110IO26I/OGPIO26, ADC2_CH9, DAC_211IO27I/OGPIO27, ADC2_CH7, TOUCH_CH712IO14I/OGPIO14, ADC2_CH6, TOUCH_CH6, MTMS13IO12I/OGPIO12, ADC2_CH5, TOUCH_CH5, MTDI14GNDG地15IO13I/OGPIO13, ADC2_CH4, TOUCH_CH4, MTCK16IO9I/OGPIO9, D217IO10I/OGPIO10, D318IO11I/OGPIO11, CMD195V0P5 V 电源J3 排针No.名称类型功能1GNDG地2IO23I/OGPIO233IO22I/OGPIO224IO1I/OGPIO1, U0TXD5IO3I/OGPIO3, U0RXD6IO21I/OGPIO217GNDG地8IO19I/OGPIO199IO18I/OGPIO1810IO5I/OGPIO511IO17I/OGPIO1712IO16I/OGPIO1613IO4I/OGPIO4, ADC2_CH0, TOUCH_CH014IO0I/OGPIO0, ADC2_CH1, TOUCH_CH1, Boot16IO2I/OGPIO2, ADC2_CH2, TOUCH_CH217IO15I/OGPIO15, ADC2_CH3, TOUCH_CH3, MTDO17IO8I/OGPIO8, D118IO7I/OGPIO7, D019IO6I/OGPIO6, SCK引脚布局官方文档提供了 ESP32-DevKitC 的完整引脚布局图清晰标注了两侧排针的丝印与功能复用关系适合打印后对照接线启动关键引脚Strapping PinsESP32 在上电/复位瞬间会采样部分 GPIO 的电平来决定启动配置这类引脚称为Strapping Pins。官方文档明确提示选择使用哪些引脚时务必谨慎因为它们在上电瞬间的行为可能与正常运行时的逻辑电平不同若与外部电路冲突可能导致无法正常启动。GPIO默认功能上拉Pull-up下拉Pull-downIO12下拉内部 LDO 电压VDD_SDIO1.8 V3.3 VIO0上拉启动模式SPI Boot正常启动Download Boot下载模式IO2下拉启动模式Dont CareDownload BootIO15上拉启动期间日志打印的启用/禁用以及 SDIO Slave 时序U0TXD ActiveU0TXD SilentIO5上拉SDIO Slave 时序参见 ESP32 数据手册参见 ESP32 数据手册其中最常被开发者用到的是IO0Arduino 上电瞬间将 IO0 拉低与 GND 短接即可强制进入下载模式Download Boot配合esptool.py完成烧录。在 Arduino IDE 中通常由工具链通过 DTR/RTS 自动控制但自制下载器或手动复位时仍需留意该引脚。受限引脚Restricted Usage GPIOs被外部 Flash / PSRAM 占用的引脚ESP32-WROVER-E 模组的外部 SPI Flash 与 PSRAM 与芯片共享了部分 GPIO这些引脚不能作为普通 IO 使用GPIO共享功能IO6外部 SPI FlashIO7外部 SPI FlashIO8外部 SPI FlashIO9外部 SPI FlashIO10外部 SPI FlashIO11外部 SPI Flash这与排针表中 IO6~IO11 标注的 D0/D1/D2/D3/CMD/SCK 名称一致——它们本是 SPI Flash 总线的数据、命令与时钟信号。从源码结构看这些引脚在启动阶段被 Flash 控制器占用任何试图将其作为普通 GPIO 输出的做法都会干扰 Flash/PSRAM 访问导致程序崩溃或无法启动。仅输入引脚Input Only以下引脚只有输入能力不能作为输出引脚使用GPIO功能IO34GPIO34, ADC1_CH6, VDET_1IO35GPIO35, ADC1_CH7, VDET_2IO36GPIO36, ADC1_CH0, S_VPIO39GPIO39, ADC1_CH3, S_VN这 4 个引脚同时是 ADC1 的输入通道适合连接模拟传感器但因为缺少输出驱动能力不能用于驱动 LED、继电器或作为数字输出控制信号。Arduino 环境下的引脚映射对于使用 Arduino IDE / arduino-cli 的开发者真正决定digitalWrite、analogRead等 API 参数的是板卡变体的引脚映射文件。ESP32-DevKitC-1及通用 ESP32 Dev Module使用的映射定义在 variants/esp32/pins_arduino.h 中与排针实际引出引脚一一对应默认串口 / I2C / SPIstatic const uint8_t TX 1; // U0TXD对应 J3-4 static const uint8_t RX 3; // U0RXD对应 J3-5 static const uint8_t SDA 21; // I2C 数据线对应 J3-6 static const uint8_t SCL 22; // I2C 时钟线对应 J3-3 static const uint8_t SS 5; // SPI 片选对应 J3-10 static const uint8_t MOSI 23; // SPI 主出从入对应 J3-2 static const uint8_t MISO 19; // SPI 主入从出对应 J3-8 static const uint8_t SCK 18; // SPI 时钟对应 J3-9也就是说使用Wire库时默认走 SDA21/SCL22使用默认SPI时走 MOSI23/MISO19/SCK18/SS5使用SerialUART0时 TX1/RX3。默认 I2C/SPI 引脚与 J3 排针位置一一对应非常便于接线。模拟输入ADC引脚Arduino 侧使用A0、A3……这类别名映射关系如下Arduino 别名实际引脚功能A0GPIO36ADC1_CH0A3GPIO39ADC1_CH3A4GPIO32ADC1_CH4A5GPIO33ADC1_CH5A6GPIO34ADC1_CH6仅输入A7GPIO35ADC1_CH7仅输入A10GPIO4ADC2_CH0A11GPIO0ADC2_CH1A12GPIO2ADC2_CH2A13GPIO15ADC2_CH3A14GPIO13ADC2_CH4A15GPIO12ADC2_CH5A16GPIO14ADC2_CH6A17GPIO27ADC2_CH7A18GPIO25ADC1_CH8A19GPIO26ADC2_CH9注意ADC2 的通道A10~A19在 Wi-Fi 开启时会被占用官方推荐优先使用 ADC1 通道进行模拟采样。触摸与 DAC触摸引脚T0~T9分别对应 GPIO4、0、2、15、13、12、14、27、33、32全部通过 J1/J3 排针引出可用于电容触摸传感DAC 引脚DAC1 25、DAC2 26对应 J1 排针的 IO25DAC_1与 IO26DAC_2可直接输出模拟电压。在 Arduino 中配置与烧录在 Arduino IDE 中选择ESP32 Dev Moduleboards.txt 中定义为esp32即可对 ESP32-DevKitC-1 进行编译与烧录。该条目提供的关键配置项包括配置项可选值节选说明CPU 频率240 / 160 / 80 / 40 / 26 / 20 / 13 / 10 MHz默认 240 MHzesp32.build.f_cpu240000000LFlash 大小2MB / 4MB / 8MB / 16MB默认 4MB与该板集成 Flash 一致Flash 模式QIO / DIO默认 DIOPSRAMDisabled / Enabled开启后定义BOARD_HAS_PSRAM并启用-mfix-esp32-psram-cache-issue修复 PSRAM 缓存问题分区方案Default 4MB with spiffs、No OTA、Huge APP、8MB 等多种默认分区 1.2MB APP / 1.5MB SPIFFSPSRAM 配置本板自带 8 MB PSRAM在PSRAM菜单选择Enabled即可启用应用可通过ps_malloc()等 API 使用外部 RAM烧录地址bootloader 地址为0x1000esp32.build.bootloader_addr0x1000工具链默认使用esptool_py烧录首次烧录提示若遇到自动下载失败手动让 IO0 在上电瞬间保持低电平即可进入下载模式烧录完成后复位进入正常 SPI Boot。使用建议与注意事项避开受限引脚IO6~IO11 被外部 Flash/PSRAM 占用IO34/35/36/39 仅可输入设计电路与写代码时务必避开关注 Strapping 引脚IO0、IO2、IO5、IO12、IO15 在上电瞬间有特殊行为若与上拉/下拉电路冲突可能导致无法启动Wi-Fi 与 ADC2 冲突开启 Wi-Fi 后优先使用 ADC1 通道A0/A3/A4/A5/A6/A7/A18外设选择芯片外设丰富I2C、SPI、I2S、UART、TWAI/CAN、SDMMC 等均支持但排针未全部引出请以 J1/J3 引脚表为最终依据获取完整技术资料官方文档 Resources 章节指向 ESP32 数据手册、ESP32-WROVER-E 数据手册与 ESP32-DevKitC 原理图涉及更深层的电气特性、时序与启动逻辑细节时建议以这些官方资料为准。参考资源板卡官方文档docs/en/boards/ESP32-DevKitC-1.rst引脚映射Arduino 变体variants/esp32/pins_arduino.h板卡配置ESP32 Dev Moduleboards.txt引脚布局图docs/_static/esp32_devkitC_pinlayout.png其他官方板卡文档docs/en/boards/【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

看完文章,想为自己的企业也做一次专业网站诊断?

尧图顾问免费为您评估现有网站,并给出建站/改版建议与报价方案。

免费获取方案