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


ESP32-C6FH4

ESP32-C6FH4 thumbnail
IC RF TxRx Only Bluetooth, WiFi Bluetooth v5.0, Thread, Zigbee® 2.412GHz ~ 2.484GHz 32-VFQFN Exposed Pad The ESP32-C6FH4 is a low-power, highly integrated wireless microcontroller from Espressif Systems, designed for IoT applications.
It is based on a 32-bit RISC-V processor running at up to 160 MHz, providing efficient performance for embedded systems while maintaining low power consumption.
This variant includes 4 MB of embedded flash memory, making it suitable for standalone applications without the need for external flash.
The ESP32-C6FH4 supports multiple wireless communication protocols, including:
Wi-Fi 6 (802.11ax) in the 2.4 GHz band (backward compatible with Wi-Fi 4/802.11 b/g/n) Bluetooth Low Energy (BLE 5) IEEE 802.15.4 (used for protocols like Thread and Zigbee) Key features include: Rich set of GPIO pins with support for peripherals such as UART, SPI, I2C, PWM, ADC, and more Integrated hardware security features (secure boot, flash encryption, cryptographic accelerators) Multiple low-power modes for battery-operated devices On-chip temperature sensor and RTC peripherals #commonpartslibrary #transceiver

Properties

ESP32-C6FH4

Espressif Systems

IC

Integrated Circuit

RF Device

parametric-v1

Pricing & Availability

Distributor

Qty 1

Controls