From the datasheet for this module, here are the pin groups you asked for:
Bootstrap / strapping pins
These pins are sampled at reset / power-up to select boot-related behavior:
-
GPIO0
- Boot mode strap
1 = SPI boot
0 with GPIO2 low = download boot
-
GPIO2
- Boot mode strap
- Used together with GPIO0 for boot selection
-
GPIO12 (MTDI)
- Straps the internal VDD_SDIO / LDO voltage
-
GPIO15 (MTDO)
- Controls U0TXD boot log printing
- Also participates in SDIO slave timing selection
-
GPIO5
- Participates in SDIO slave timing selection
Default strap states reported by the datasheet:
- GPIO0: pull-up
- GPIO2: pull-down
- GPIO12 / MTDI: pull-down
- GPIO15 / MTDO: pull-up
- GPIO5: pull-up
Input-only pins
These GPIOs are input-only:
- GPIO34
- GPIO35
- GPIO36 (
SENSOR_VP)
- GPIO39 (
SENSOR_VN)
Restriction from the datasheet:
- GPIO34–GPIO39 can only be used as inputs
- They do not have software-enabled internal pull-up or pull-down resistors
Pins connected to internal module memory / reserved flash interface
These pins are used by the module’s on-board SPI flash and should be treated as reserved:
- GPIO6 -
SCK / CLK
- GPIO7 -
SDO / SD0
- GPIO8 -
SDI / SD1
- GPIO9 -
SHD / SD2
- GPIO10 -
SWP / SD3
- GPIO11 -
SCS / CMD
So the practical “do not use for normal GPIO” list is:
- GPIO6
- GPIO7
- GPIO8
- GPIO9
- GPIO10
- GPIO11
If you want, I can also turn this into a pin-property mapping for your part project, such as:
Pin Type
Section
Pin Group
Pin Description
kiki11
copilot