Pin Function Grouping


Yes — the cleanest way is to assign each pin to one primary/common function only, so multifunction pins like MTMS / GPIO4 / ADC1_CH4 / ... appear once, not repeated across Debug, GPIO, and Analog.
Suggested functional groups Power

Table


Pins
VDDA3P3 (2, 3)
VDDPST1 (5)
VDDPST2 (20)
VDDA1 (29)
VDDA2 (32)
Ground

Table


Pins
GND exposed pad (33)
RF

Table


Pins
ANT (1)
Control

Table


Pins
CHIP_PU (4)
Low-power / RTC / 32 kHz

Table


Pins
XTAL_32K_P / GPIO0 (6)
XTAL_32K_N / GPIO1 (7)
JTAG / Debug

Table


Pins
MTMS / GPIO4 (10)
MTDI / GPIO5 (11)
MTCK / GPIO6 (12)
MTDO / GPIO7 (13)
USB

Table


Pins
GPIO12 / USB_D- (16)
GPIO13 / USB_D+ (17)
UART

Table


Pins
U0TXD / GPIO16 (21)
U0RXD / GPIO17 (22)
SDIO / Flash-style interface

Table


Pins
SDIO_CMD / GPIO18 (23)
SDIO_CLK / GPIO19 (24)
SDIO_DATA0 / GPIO20 (25)
SDIO_DATA1 / GPIO21 (26)
SDIO_DATA2 / GPIO22 (27)
SDIO_DATA3 / GPIO23 (28)
Main crystal

Table


Pins
XTAL_N (30)
XTAL_P (31)
General GPIO

Table


Pins
GPIO2 (8)
GPIO3 (9)
GPIO8 (14)
GPIO9 (15)
GPIO14 (18)
GPIO15 (19)
Recommended rule for avoiding duplicates
Use this priority when a pin has multiple alternate functions:
  1. Power / Ground
  2. RF
  3. Control
  4. Clock / Crystal
  5. USB
  6. UART / SDIO / dedicated interface
  7. Debug / JTAG
  8. General GPIO
That way each pin is placed in exactly one bucket, based on its most identifying/common hardware role.
Example of why this helps
  • Pin 10 could be listed as MTMS, GPIO4, ADC1_CH4, and LP_UART_RXD
  • But if you want no duplicates, assign it once under JTAG / Debug because MTMS is its most specific/common top-level role.
If you want, I can next turn this into a Flux-ready pin grouping table with columns like:
| Pin Number | Pin Name | Section | Pin Group | Sub-symbol |
so you can paste/use it directly for the part.
Create pin grouping table
Split into sub-symbols
Check exact pin names

Name
Pin #
Type
Section
Pin Group
Orientation
Order
Sub-symbol
Terminal Type
ANT
1
Unspecified
RF
20
unspecified
VDDA3P3_1
2
Unspecified
Power
Top
10
unspecified
VDDA3P3_2
3
Unspecified
Power
Top
10
unspecified
CHIP_PU
4
Unspecified
Control
30
unspecified
VDDPST1
5
Unspecified
Power
Top
10
unspecified
XTAL_32K_P
6
Unspecified
Crystal
90
unspecified
XTAL_32K_N
7
Unspecified
Crystal
90
unspecified
GPIO2
8
Unspecified
GPIO
50
unspecified
GPIO3
9
Unspecified
GPIO
50
unspecified
MTMS
10
Unspecified
Debug
60
unspecified
MTDI
11
Unspecified
Debug
60
unspecified
MTCK
12
Unspecified
Debug
60
unspecified
MTDO
13
Unspecified
Debug
60
unspecified
GPIO8
14
Unspecified
GPIO
50
unspecified
GPIO9
15
Unspecified
GPIO
50
unspecified
GPIO12
16
Unspecified
USB
60
unspecified
GPIO13
17
Unspecified
USB
60
unspecified
GPIO14
18
Unspecified
GPIO
50
unspecified
GPIO15
19
Unspecified
GPIO
50
unspecified
VDDPST2
20
Unspecified
Power
Top
10
unspecified
U0TXD
21
Unspecified
UART
80
unspecified
U0RXD
22
Unspecified
UART
80
unspecified
SDIO_CMD
23
Unspecified
SDIO
70
unspecified

ESP32-C6FH4