ESP32芯片具有34个物理GPIO引脚,编号从GPIO0到GPIO19,GPIO21到GPIO23,GPIO25到GPIO27和GPIO32到GPIO39。2 每个引脚可以用作通用I/O,或连接到内部外设旗子暗记。通过IO MUX、RTC IO MUX和GPIO矩阵,外设输入旗子暗记可以来自任何IO引脚,外设输出旗子暗记可以路由到任何IO引脚。这些模块供应了高度可配置的I/O功能。
ESP32的GPIO引脚有以下几种功能:

数字I/O:可以设置为输入或输出模式,支持上拉或下拉电阻,支持中断触发。仿照I/O:可以设置为ADC(仿照-数字转换器)或DAC(数字-仿照转换器)模式,用于丈量或输出仿照旗子暗记。触摸传感器:可以设置为触摸传感器模式,用于检测人体触摸。低功耗I/O:可以设置为RTC GPIO模式,用于在深度就寝模式下保持运行。不过,并不是所有的GPIO引脚都可以随意利用。有些引脚有分外的用场或限定,比如:
勾引引脚:GPIO0, GPIO2, GPIO5, GPIO12 (MTDI), 和 GPIO15 (MTDO) 是勾引引脚。它们在启动时会影响芯片的事情模式。SPI闪存/PSRAM引脚:GPIO6-11 和 GPIO16-17 常日连接到集成在模块上的SPI闪存和PSRAM,因此不应该用于其他目的。JTAG调试引脚:GPIO12-15 常日用于在线调试。只读引脚:GPIO34-39 只能设置为输入模式,没有软件使能的上拉或下拉电阻。ADC2限定:ADC2引脚在利用Wi-Fi时不能利用。