Pin Function Grouping

0:35

Consulting file search options.

You're right. For a usable symbol, each pin should appear in exactly one section, not repeated across multiple overlapping groups. The pin-grouping guidance is explicit that every pin on a complex IC should belong to exactly one sub-symbol/section, and the grouping should use the most common primary function for readability rather than listing every alternate mux function
So the cleaner rule is:
  • One pin = one section
  • Use the pin's primary/common schematic role
  • Do not duplicate a pin just because it also supports USB, ADC, JTAG, touch, etc.
  • Power and ground stay in a dedicated Power/Ground area
Better exclusive grouping
For this module, I would assign pins like this:
Power
  • 3V3
Ground
  • GND_1
  • GND_2
  • EPAD
Control
  • EN
Strapping / Boot
  • IO0
  • IO45
  • IO46
Debug
  • IO39
  • IO40
  • IO41
  • IO42
Communication
  • TXD0
  • RXD0
  • IO17
  • IO18
  • IO19
  • IO20
GPIO / Analog
  • IO1
  • IO2
  • IO3
  • IO4
  • IO5
  • IO6
  • IO7
  • IO8
  • IO9
  • IO10
  • IO11
  • IO12
  • IO13
  • IO14
  • IO15
  • IO16
  • IO21
  • IO35
  • IO36
  • IO37
  • IO38
  • IO47
  • IO48
Why this is better
Because pins like:
  • IO19/IO20 can be USB and GPIO
  • IO39-IO42 can be GPIO and JTAG
  • IO1-IO14 can be GPIO and ADC/touch
…but for symbol organization, you normally pick one dominant bucket only. That matches the recommended practice of assigning each pin one section and one sub-symbol instead of duplicating multifunction pins across categories
Practical recommendation
If you're building the part in Flux, I’d use these sections:

Table


SectionPins
Power3V3
GroundGND_1, GND_2, EPAD
ControlEN
StrappingIO0, IO45, IO46
DebugIO39, IO40, IO41, IO42
CommunicationTXD0, RXD0, IO17, IO18, IO19, IO20
GPIOIO1-IO16, IO21, IO35-IO38, IO47, IO48
If you want, I can next turn that into a clean pin property table with:
  • Pin name
  • Pin number
  • Section
  • Pin Group
  • Pin Type
  • Sub-symbol suffix
with no duplicated pins at all.
Skip duplicate pins
Clean up IO1 groups
One canonical function
Prioritize primary function
9 days

To get started, talk to Flux or create a New Document.

Documents

    Documents are markdown text files which describe project goals, capture details, or even simulation outputs.

    Assets

    stp

    ESP32-S3-WROOM-1-N16R8.stp

    3D_ESP32-S3-WROOM-1-N16R83D Model
    ESP32-S3-WROOM-1-N16R8

    ESP32-S3-WROOM-1-N16R8

    ESP32-S3-WROOM-1-N16R8 Symbol.svgDefault
    ESP32-S3-WROOM-1-N16R8-thumb.png

    ESP32-S3-WROOM-1-N16R8-thumb.png

    ESP32-S3-WROOM-1-N16R8-thumbThumbnail
    kicad_mod

    ESP32S3WROOM1N16R8.kicad_mod

    FP_ESP32S3WROOM1N16R8Footprint

    ESP32-S3-WROOM-1-N16R8

    ESP32-S3-WROOM-1-N16R8 thumbnail
    Bluetooth, WiFi 802.11b/g/n, Bluetooth v5.0 Transceiver Module 2.4GHz PCB Trace Surface Mount #Module #RF-Transceiver #ESP32-S3

    Properties

    ESP32-S3-WROOM-1-N16R8

    Espressif Systems

    IC

    Module

    parametric-v1

    Pricing & Availability

    Distributor

    Qty 1

    Controls