Pin Function Grouping Analysis


You're right — I missed the bottom SPI-flash pads.
From the document available in this project, the key explicit note is that the ESP-12F has SPI flash pads brought out on the bottom row, and they are not usable as GPIO; they are only there so you can program the flash chip . For Flux pin classification, pins like SPI_MOSI/MISO/SCK/CS belong in Communication, not GPIO .
Revised section grouping

Table


SectionPins
Power3V3 / VCC
GroundGND
ControlEN / CH_PD, RST / EXT_RSTB
AnalogTOUT / ADC
CommunicationTXD, RXD
GPIOGPIO0, GPIO2, GPIO4, GPIO5, GPIO12, GPIO13, GPIO14, GPIO15, GPIO16
Communication or FlashMISO, MOSI, SCLK, CS and any other bottom flash-programming pads
No Connectonly pins explicitly marked NC/DNC in the real pin table
My recommendation
For this part, I’d use these symbol sections:
  • Power
  • Control
  • Analog
  • GPIO
  • Communication
  • Ground
And if you want the symbol to stay cleaner, put the bottom flash-only pads into a dedicated:
  • Flash
That matches both the Flux section rules and the extracted note that those pads are not normal GPIOs
Important caveat
The PDF I could extract from your project does not include a full explicit pin table, so I can confirm the existence and special handling of the bottom flash pads, but not safely reconstruct every one of their exact labels from that file alone. The sync workflow explicitly says not to guess pin assignments and to use the datasheet as the single source of truth
If you want, I can do the next step and give you an exact per-pin Section assignment for every terminal currently in the part project, including which ones should move into Communication/Flash.
what section pin CS0?
CS0 should go in Communication.
Reason: the section-classification guidance explicitly puts SPI_MOSI/MISO/SCK/CS under Communication, so a chip-select pin like CS0 belongs there
If you want a cleaner symbol for this module, a good practical alternative is:
  • Section: Communication
  • Pin Group: SPI or Flash
  • Sub-symbol: Communication or Flash
But for the Section field specifically, I’d set CS0 = Communication.
Classify GPIO too
Group SPI pins
Check datasheet pin role

RST
MISO
EN
TXD0
MOSI
GPIO15
SCLK
CS0
ADC
VCC
GPIO13
GPIO10
GPIO12
GPIO0
GPIO9
GPIO4
GPIO2
GND
GPIO14
GPIO16
RXD0
GPIO5
Name
Pin #
Type
Part Type
Pin Orientation
Section
Terminal Order
Terminal Type
RST
1
Unspecified
Terminal
Control
55
INPUT
ADC
2
Unspecified
Terminal
Analog
50
bidi
EN
3
Unspecified
Terminal
Control
55
INPUT
GPIO16
4
Unspecified
Terminal
GPIO
60
bidi
GPIO14
5
Unspecified
Terminal
GPIO
60
bidi
GPIO12
6
Unspecified
Terminal
GPIO
60
bidi
GPIO13
7
Unspecified
Terminal
GPIO
60
bidi
VCC
8
Unspecified
Terminal
Top
Power
10
powerIn
CS0
9
Unspecified
Terminal
Communication
40
bidi
MISO
10
Unspecified
Terminal
FLASH
70
bidi
GPIO9
11
Unspecified
Terminal
GPIO
60
bidi
GPIO10
12
Unspecified
Terminal
GPIO
60
bidi
MOSI
13
Unspecified
Terminal
FLASH
70
bidi
SCLK
14
Unspecified
Terminal
FLASH
70
bidi
GND
15
Unspecified
Terminal
GND
130
powerIn
GPIO15
16
Unspecified
Terminal
GPIO
60
bidi
GPIO2
17
Unspecified
Terminal
GPIO
60
bidi
GPIO0
18
Unspecified
Terminal
GPIO
60
bidi
GPIO4
19
Unspecified
Terminal
GPIO
60
bidi
GPIO5
20
Unspecified
Terminal
GPIO
60
bidi
RXD0
21
Unspecified
Terminal
Communication
40
bidi
TXD0
22
Unspecified
Terminal
Communication
40
bidi

ESP-12F