ESP32-S2-Saola-1 开发板完全指南:硬件规格、引脚映射与 Arduino 环境配置详解

发布时间:2026/9/13 17:07:34
ESP32-S2-Saola-1 开发板完全指南:硬件规格、引脚映射与 Arduino 环境配置详解 ESP32-S2-Saola-1 开发板完全指南硬件规格、引脚映射与 Arduino 环境配置详解【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32ESP32-S2-Saola-1 是乐鑫官方推出的 ESP32-S2 开发板基于 ESP32-S2-WROVER 模组集成了 4 MB 闪存与 2 MB PSRAM并原生支持 USB OTG。本篇技术指南以仓库 docs/en/boards/ESP32-S2-Saola-1.rst 为核心结合 Arduino-ESP32 core 的板级定义源码与构建配置完整讲解该板卡的硬件规格、双排针引脚定义、启动strapping引脚、受限 GPIO以及在 Arduino IDE 中使用该板卡时对应的引脚常量、菜单选项与分区方案。阅读本文后你将能准确接线、避开启动陷阱与受限引脚并正确配置编译上传参数。板卡概述基于 ESP32-S2-WROVER 模组的官方开发板ESP32-S2-Saola-1 属于乐鑫官方开发板家族核心是 ESP32-S2 SoC由 ESP32-S2-WROVER 模组承载。在 Arduino-ESP32 生态中它对应 boards.txt 中esp32s2ESP32S2 Dev Module这一板型条目boards.txt板卡型号被统一收录于 docs/en/boards/boards.rst 的板卡索引中。从构建配置看该板型默认参数为配置项默认值说明build.mcu/build.targetesp32s2目标芯片为 ESP32-S2Xtensa 单核build.f_cpu240000000L默认 CPU 主频 240 MHzbuild.flash_size4MB模组集成 4 MB SPI 闪存build.flash_freq80m闪存时钟 80 MHzbuild.flash_modedio闪存 DIO 模式build.bootqio启动模式 QIOupload.maximum_size1310720默认分区下 APP 最大约 1.25 MBupload.maximum_data_size327680可用数据内存上限约 320 KBUSB VID / PID0x303a/0x0002ESP32-S2 原生 USB 标识这些默认值可在 Arduino IDE 的开发板菜单中进一步调整详见后文Arduino 环境下的板级配置一节。硬件规格一览ESP32-S2-Saola-1 的主要硬件能力如下取自 ESP32-S2-Saola-1.rst 的 Specifications 章节无线Wi-Fi 802.11b/g/n802.11n 最高 150 Mbps处理器ESP32-S2 系列 SoCXtensa® 单核存储集成 4 MB SPI 闪存、2 MB PSRAM外设资源43 个可编程 GPIO2 个 13 位 SAR ADC最高 20 通道2 个 8 位 DAC14 个触摸感应 IO4 个 SPI、1 个 I2S、2 个 I2C、2 个 UARTRMTTX/RXLED PWM 控制器最高 8 通道1 个全速 USB OTG1 个温度传感器1 个 DVP 8/16 位摄像头接口复用 I2S 硬件资源1 个 LCD 接口8 位串行 RGB/8080/6800复用 SPI2 硬件资源1 个 LCD 接口8/16/24 位并行复用 I2S 硬件资源1 个 TWAI® 控制器兼容 ISO 11898-1天线PCB 天线或外部天线连接器需要注意ESP32-S2 系列没有内置蓝牙区别于 ESP32/ESP32-S3其网络能力集中在 Wi-Fi 与 USB OTG 上摄像头与 LCD 并行接口属于复用型外设具体配置见官方 ESP-IDF 驱动文档。排针引脚定义J2 / J3ESP32-S2-Saola-1 通过两块排针 J2、J3 引出引脚。并非所有芯片引脚都被引出到排针上使用前务必核对下表。表中 Type 含义P 电源、I 输入、O 输出、T 高阻态。J2 排针21 引脚No.名称类型功能13V3P3.3 V 电源2IO0I/OGPIO0、Boot3IO1I/OGPIO1、ADC1_CH0、TOUCH_CH14IO2I/OGPIO2、ADC1_CH1、TOUCH_CH25IO3I/OGPIO3、ADC1_CH2、TOUCH_CH36IO4I/OGPIO4、ADC1_CH3、TOUCH_CH47IO5I/OGPIO5、ADC1_CH4、TOUCH_CH58IO6I/OGPIO6、ADC1_CH5、TOUCH_CH69IO7I/OGPIO7、ADC1_CH6、TOUCH_CH710IO8I/OGPIO8、ADC1_CH7、TOUCH_CH811IO9I/OGPIO9、ADC1_CH8、TOUCH_CH912IO10I/OGPIO10、ADC1_CH9、TOUCH_CH1013IO11I/OGPIO11、ADC2_CH0、TOUCH_CH1114IO12I/OGPIO12、ADC2_CH1、TOUCH_CH1215IO13I/OGPIO13、ADC2_CH2、TOUCH_CH1316IO14I/OGPIO14、ADC2_CH3、TOUCH_CH1417IO15I/OGPIO15、ADC2_CH4、XTAL_32K_P18IO16I/OGPIO16、ADC2_CH5、XTAL_32K_N19IO17I/OGPIO17、ADC2_CH6、DAC_1205V0P5 V 电源21GNDG地J3 排针20 引脚No.名称类型功能1GNDG地2RSTICHIP_PU、复位3IO46IGPIO464IO45I/OGPIO455IO44I/OGPIO44、U0RXD6IO43I/OGPIO43、U0TXD7IO42I/OGPIO42、MTMS8IO41I/OGPIO41、MTDI9IO40I/OGPIO40、MTDO10IO39I/OGPIO39、MTCK11IO38I/OGPIO3812IO37I/OGPIO3713IO36I/OGPIO3614IO35I/OGPIO3516IO34I/OGPIO3417IO33I/OGPIO3317IO26I/OGPIO2618IO21I/OGPIO2119IO20I/OGPIO20、ADC2_CH3、USB_D20IO19I/OGPIO19、ADC2_CH3、USB_D-21IO18I/OGPIO18、ADC2_CH3、DAC_2注J3 表格中序号 15 缺失、17 出现两次为原文档 ESP32-S2-Saola-1.rst 自带的编号笔误此处按原文逐行转录实际引脚顺序以板卡丝印与原理图为准。将排针定义与 Arduino 板级映射对照可见关键规律IO19/IO20 承载原生 USB D-/D即使用板载 USB 口时这两个引脚被 USB 占用IO43/IO44 为 UART0TX/RX默认串口打印与烧录均走该组引脚。引脚布局图ESP32-S2-Saola-1 的完整引脚布局可点击放大查看排针与板载元件的对应关系如下启动Strapping引脚上电时序的关键约束部分 GPIO 在上电/启动阶段承担特殊角色其电平状态决定了芯片的启动模式、内部 LDO 电压与日志打印行为。改动这些引脚的电平时需格外谨慎GPIO默认功能拉高Pull-up拉低Pull-downIO45下拉内部 LDO 电压VDD_SDIO1.8 V3.3 VIO0上拉启动模式SPI BootDownload BootIO46下拉启动模式不关心Download BootIO46上拉启动期间日志打印开关与 SDIO Slave 时序U0TXD 有效U0TXD 静默实操要点IO0 是进入下载模式的开关复位瞬间若 IO0 被拉低配合 RST 触发芯片进入 Download Boot可烧录固件正常运行时保持其默认上拉即可。这与 boards.txt 中UploadMode的 UART0默认与 Internal USB1200 bps touch 复位两种上传模式共同构成完整的烧录路径。IO45 决定 VDD_SDIO 电压1.8 V 或 3.3 V直接影响外部 SPI 器件电平改动前务必确认外围电路兼容性。IO46 同时参与启动模式判定与启动日志打印开关且为仅输入引脚见下文一般不应作为普通输出使用。受限 GPIO不可随意使用与仅输入的引脚与 PSRAM 共享、不可使用的引脚GPIO共享功能IO26连接到 PSRAM由于 ESP32-S2-WROVER 模组的 2 MB PSRAM 已占用 IO26该引脚无法作为普通 GPIO 使用。这正是集成 2 MB PSRAM带来的硬件代价选型时需计入可用引脚数。仅输入INPUT ONLY引脚GPIO功能IO46GPIO46IO46 只能作为输入读取不能配置为输出。从 pins_arduino.h 可见Arduino 板级映射中也没有为 IO46 提供任何默认别名常量进一步印证了其受限地位。Arduino 环境下的板级映射与常用常量仓库中的 variants/esp32s2/pins_arduino.h 定义了 ESP32-S2-Saola-1 等 ESP32-S2 板卡在 Arduino 中的默认引脚常量与上文排针表一一对应常量引脚对应排针/功能LED_BUILTIN/RGB_BUILTIN18PIN_RGB_LED板载 RGB LEDRGB_BRIGHTNESS64TX/RX43 / 44UART0J3: IO43/IO44SDA/SCL8 / 9默认 I2CJ2: IO8/IO9SS/MOSI/MISO/SCK34 / 35 / 37 / 36默认 SPIJ3: IO34/35/37/36A0~A191 ~ 20模拟输入通道对应 ADC1/ADC2T1~T141 ~ 14触摸通道 TOUCH_CH1 ~ CH14DAC1/DAC217 / 188 位 DAC 输出J2: IO17、J3: IO18对应到代码中的用法示例// 板载 RGB LED 呼吸灯效果Arduino-ESP32 新 API #include Arduino.h void setup() { rgbLedWrite(RGB_BUILTIN, 255, 0, 0); // 红色 delay(500); rgbLedWrite(RGB_BUILTIN, 0, 255, 0); // 绿色 } void loop() {} // 触摸引脚读取T1 IO1 TOUCH_CH1 void touchExample() { int t touchRead(T1); Serial.printf(touch value: %d\n, t); }在 Arduino IDE 中烧录到该板卡应选择开发板ESP32S2 Dev Module对应 boards.txt 中esp32s2条目其build.variantesp32s2正是加载上述 pins_arduino.h 的开关。Arduino 板级菜单CPU 频率、PSRAM、USB 与分区方案针对esp32s2板型boards.txt 提供了完整的 IDE 菜单选项可按需调整默认配置USB / 上传模式CDC On BootCDCOnBoot默认 Disabled启用后开机即枚举为 USB 串口CDC可替代 UART0 作为Serial输出。MSC On BootMSCOnBoot默认 Disabled启用后板载 USB 以 U 盘Mass Storage形式出现配合FirmwareMSC可实现在线拖拽升级。DFU On BootDFUOnBoot默认 Disabled启用后进入 USB DFU 模式。Upload ModeUploadMode默认UART0走 IO43/IO44 串口 IO0 下载模式可选Internal USB此时使用use_1200bps_touchtrue即通过 USB 的 1200 bps touch 复位信号自动进入烧录模式无需手动拉低 IO0。存储与外设PSRAM默认 Disabled选 Enabled 时追加-DBOARD_HAS_PSRAM编译宏从而启用ps_malloc()等 PSRAM 分配接口模组本身已集成 2 MB PSRAM只是默认不在 Arduino 运行时启用。Partition Scheme提供大量分区方案例如默认Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)、No OTA (2MB APP/2MB SPIFFS)、Huge APP (3MB No OTA/1MB SPIFFS)、16M Flash (2MB APP/12.5MB FATFS)、RainMaker、Zigbee ZCZR等。不同方案会联动调整upload.maximum_sizeAPP 可用体积例如huge_app将上限提升到 3145728 字节boards.txt。CPU Frequency提供 240 MHz / 160 MHz / 80 MHzWiFi档位对应build.f_cpu调整低主频可降低功耗。仓库中的验证与测试覆盖在仓库的 CI 测试体系中ESP32-S2 是持续验证的目标平台之一tests/validation/wifi/ci.yml 针对esp32s2同时覆盖PSRAMenabled与PSRAMdisabled两种组合均搭配huge_app分区验证 Wi-Fi 功能在 PSRAM 开关下的稳定性。tests/validation/nvs/ci.yml 在esp32s2上以dio/qio两种 FlashMode 运行 NVS 读写测试。tests/performance/ramspeed/ci.yml 与 tests/performance/psramspeed/ci.yml 将esp32s2列为内存性能基准测试平台。tests/validation/democfg/README.md 明确说明自定义 FQBN 覆盖esp32s2 (PSRAM)场景。这些测试配置从侧面印证了该板卡在 Arduino-ESP32 生态中的主流地位也为开发者排查是否板级配置导致的问题提供了对照若遇到与 PSRAM、FlashMode 相关的异常可先按 CI 中的 FQBN 组合复现验证。关键使用建议与排查清单综合排针表、strapping 引脚与受限 GPIO使用 ESP32-S2-Saola-1 时可遵循以下清单上电前检查 IO0 / IO45 / IO46 电平避免意外进入下载模式或改动 LDO 电压域不要使用 IO26PSRAM 占用不要将 IO46 配置为输出使用 USB 功能时避开 IO19/IO20USB_D-/D作为普通 IO默认串口输出走 IO43TX/ IO44RX如需 USB 串口请在 IDE 中启用CDC On Boot需要大内存缓冲时在 IDE 菜单启用PSRAM并在代码中用ps_malloc()/heap_caps_malloc(..., MALLOC_CAP_SPIRAM)大固件工程改用Huge APP或No OTA分区方案以扩大 APP 可用体积。延伸阅读板卡文档原始出处docs/en/boards/ESP32-S2-Saola-1.rst板卡索引docs/en/boards/boards.rst板型构建配置esp32s2条目boards.txtArduino 引脚映射variants/esp32s2/pins_arduino.h板卡示例libraries/ESP32/examples/下的AnalogReadContinuous、TouchWakeUp、RMT等示例均兼容 ESP32-S2 平台【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考