Pin Classification Overview


I checked the Espressif datasheet for this module. Here are the pin groups you asked for:
Bootstrap / strapping pins
These pins are sampled at reset, then can be used as normal GPIO afterward.

Table


Module pinPin nameReset roleDefault strap
16IO46Boot mode select with IO0, ROM message printing controlWeak pull-down
26IO45VDD_SPI voltage selectWeak pull-down
27IO0Boot mode select with IO46Weak pull-up
Boot notes

Table


IO0IO46Result
1anySPI boot
00Joint download boot
01Invalid combination, avoid
Input-only pins

Table


Module pinPin nameNotes
16IO46Input-only pin, fixed pull-down, also a strapping pin
That is the only input-only GPIO called out here.
Pins connected to internal memory / reserved by flash interface
These are the ones you should treat as memory-related or restricted.
Strongly reserved / not recommended for other use
These correspond to the SPI0/1 interface used for in-package flash, or recommended for flash/PSRAM connection.

Table


Chip GPIOModule pin exposureModule pin name
GPIO26not exposed as GPIO26 label on modulenot broken out directly
GPIO27not exposed as GPIO27 label on modulenot broken out directly
GPIO28not exposed as GPIO28 label on modulenot broken out directly
GPIO29not exposed as GPIO29 label on modulenot broken out directly
GPIO30not exposed as GPIO30 label on modulenot broken out directly
GPIO31not exposed as GPIO31 label on modulenot broken out directly
GPIO32not exposed as GPIO32 label on modulenot broken out directly
Memory-bus related pins exposed on the module
These are associated with higher SPI flash/PSRAM data lines or DQS, so use caution.

Table


Module pinPin nameMemory-related function in datasheet
24IO33SPIIO4 / FSPIHD
25IO34SPIIO5 / FSPICS0
28IO35SPIIO6 / FSPID
29IO36SPIIO7 / FSPICLK
30IO37SPIDQS / FSPIQ
Practical summary
  • Definitely memory-reserved / avoid: GPIO26 to GPIO32
  • Memory-related / use with caution: IO33 to IO37
  • Normal GPIO from your requested categories: the rest, except the special-case pins above
USB pins

Table


Module pinPin nameUSB function
13IO19USB_D-
14IO20USB_D+
Short summary
  • Bootstrap pins: IO0, IO45, IO46
  • Input-only pins: IO46
  • Internal-memory / flash-related pins: GPIO26 to GPIO32 reserved, and IO33 to IO37 are memory-bus related / caution
  • USB pins: IO19 = USB_D-, IO20 = USB_D+
If you want, I can turn this into a pin classification table for all 41 pins next.
Use ESP32 datasheet
Flag restricted pins
Save pin notes