Ang pinout ng ESP32 ay isa sa pinakadakilang lakas nito, at isa sa mga pinakakaraniwang mapagkukunan ng pagkalito. Sa mabigat na multiplexing, mahigpit na boot-mode dependencies, at sensitibong analog na pag-uugali, ang tamang pagpili ng pin ay mahalaga para sa matatag na operasyon. Ang artikulong ito ay malinaw na nag-aayos ng bawat pangunahing pangkat ng pin upang maiwasan mo ang mga salungatan, maiwasan ang mga pagkabigo sa boot, at magdisenyo ng maaasahang hardware na nakabatay sa ESP32.

Pag-unawa sa ESP32 Pinout
Ang ESP32 ay isang malakas at nababaluktot na microcontroller na malawakang ginagamit sa IoT, automation, at matalinong aparato. Ang mga advanced na kakayahan nito ay nagmula sa isang mataas na multiplexed pinout system kung saan maraming mga pag-andar ang nagbabahagi ng parehong pisikal na mga pin. Kabilang dito ang digital I / O, ADC channel, capacitive touch sensor, communication buses, RTC-domain pin, at panloob na koneksyon para sa SPI flash at boot configuration. Dahil maraming mga function ang nagbabahagi ng mga pin, ang hindi wastong mga kable ay maaaring maging sanhi ng mga nabigong boot, maingay na pagbabasa ng ADC, o hindi pinagana na mga peripheral.
ESP32 DevKit Pin Layout

Ang mga board ng pag-unlad ng ESP32 ay karaniwang dumating sa mga bersyon ng 30-pin at 38-pin, na parehong naglalantad ng parehong mga pangunahing pag-andar, ngunit may mga menor de edad na pagkakaiba sa magagamit na mga GPIO.
Mga Grupo ng Pin sa ESP32 Dev Boards
| Pangkat | Paglalarawan |
|---|---|
| Mga Pin ng Kapangyarihan | VIN (5 V), 3.3 V output, GND |
| Mga Pin ng Control | EN (i-reset), IO0 (boot mode) |
| Mga Pin ng GPIO | Digital I / O na may multiplexing |
| Analog Pin | Mga channel ng ADC1 at ADC2 |
| Mga Pin ng Komunikasyon | SPI, I2C, UART, I2S |
| Mga Pin na Input Lamang | GPIO34–GPIO39 |
| Mga Pine na Nakalaan sa Flash | GPIO6–GPIO11 |
Karaniwang Pag-aayos ng Header
Kaliwang Header
• EN, GPIO36–39, GPIO34–35
• GPIO32–33, 25–27
• VIN, GND, 3.3V
Kanang Header
• GPIO0–23
• Boot-strapping pin (0, 2, 5, 12, 15)
Ang pag-unawa sa pisikal na layout ay ginagawang mas madali upang maiwasan ang mga pagkakamali at magplano ng mga kable nang mahusay.
Pangkalahatang-ideya ng ESP32 GPIO

Ang ESP32 GPIOs ay may kakayahang umangkop salamat sa panloob na I / O Matrix, na nagbibigay-daan sa mga peripheral tulad ng UART, SPI, I2C, at PWM na mai-map halos kahit saan. Sinusuportahan ng mga GPIO ang digital na input / output na may built-in na pull-up / down resistors, mga interrupt na na-trigger ng gilid, at maaasahang paglipat sa mataas na bilis. Ang karaniwang tuloy-tuloy na pagmamaneho ay 12-16 mA (peaks hanggang sa ~ 20-40 mA), kaya kinakailangan ang mga panlabas na driver para sa mga motor o relay.
Mga Pin ng Input Lamang
Ang mga pin na ito ay hindi maaaring magmaneho ng output at mainam para sa mga sensor at analog input:
| Pin | Uri | Inirerekumendang Paggamit |
|---|---|---|
| GPIO34 | Input lamang | ADC1 / mga sensor |
| GPIO35 | Input lamang | ADC1 |
| GPIO36 (VP) | Input lamang | ADC1 / Hall sensor |
| GPIO39 (VN) | Input lamang | ADC1 |
Ligtas na ESP32 Mga Pin na Dapat Gamitin at Mga Pin na Dapat Iwasan

Hindi lahat ng ESP32 pin ay kumikilos nang pantay-pantay. Ang ilan ay ligtas, habang ang iba ay nakakaimpluwensya sa boot mode o nakatali sa panloob na flash memory.
Ligtas na Mga Pin (Inirerekomenda para sa Lahat ng Gumagamit)
| Mga GPIO | Mga Tala |
|---|---|
| 4, 13–19, 21–27, 32, 33 | Walang epekto sa boot, mainam para sa karamihan ng mga peripheral |
Mga Pin ng Pag-iingat (Makakaapekto sa Boot Mode)
| GPIO | Pag-andar ng Boot | Iwasan Sa Panahon ng Boot |
|---|---|---|
| GPIO0 | Flash / Boot mode | Panatilihing MATAAS (input) sa panahon ng normal na pag-boot |
| GPIO2 | Boltahe ng boot | Dapat ay MATAAS |
| GPIO5 | Opsyonal na mode ng boot | Iwasan ang paghila ng mababa |
| GPIO12 | Mode ng boltahe ng flash | Dapat manatiling MABABA |
| GPIO15 | SPI mode | Dapat manatiling MABABA |
Ang mga pin na ito ay ligtas na gamitin sa normal na operasyon, ngunit ang mga panlabas na bahagi ay hindi dapat hilahin ang mga ito sa mga hindi wastong antas ng lohika sa panahon ng pag-reset. Ang kanilang detalyadong mga tungkulin sa boot ay ipinaliwanag sa Seksyon 9.
Pinaghihigpitan ang mga pin (huwag gamitin)
| GPIO | Dahilan |
|---|---|
| GPIO6–11 | Konektado sa SPI flash memory |
Ang paggamit ng mga ito ay maaaring mag-freeze o mag-crash ng ESP32.
ESP32 ADC Pin

Ang ESP32 ay nagsasama ng dalawang yunit ng SAR ADC na may iba't ibang pag-uugali sa pagpapatakbo:
• ADC1 - Palaging magagamit at inirerekomenda para sa lahat ng mga input ng sensor
• ADC2 - Ibinahagi sa Wi-Fi subsystem at nagiging hindi magagamit tuwing aktibo ang Wi-Fi
Ito ay isa sa mga pangunahing limitasyon ng ESP32, na ginagawang ADC1 ang maaasahang pagpipilian para sa mga sukat sa mga wireless na aplikasyon.
| Yunit ng ADC | Mga Channel | Mga GPIO | Mga Tala |
|---|---|---|---|
| ADC1 | CH0–CH7 | GPIO32–39 | Pinakamahusay na pagpipilian para sa mga sensor |
| ADC2 | CH0–CH9 | 0, 2, 4, 12–15, 25–27 | Hindi magagamit sa panahon ng Wi-Fi |
Saklaw ng Boltahe at Katumpakan
Sinusuportahan ng mga ADC ang isang default na 0-1.1 V na saklaw ng input, na maaaring palawakin sa tungkol sa 3.3 V na may pagpapahina. Ang parehong mga yunit ng ADC ay hindi linear at nakikinabang mula sa pagkakalibrate. Ang pagganap ng analog ay maaaring maapektuhan ng panloob na aktibidad ng RF, kaya ang pagruruta ng mga linya ng sensor ang layo mula sa antena at pagdaragdag ng mga simpleng filter ng RC ay maaaring lubos na mapabuti ang katatagan. Para sa mga proyektong pinagana ng Wi-Fi, palaging ilagay ang mga analog sensor sa ADC1 upang matiyak ang patuloy at walang ingay na operasyon.
ESP32 DAC, PWM, at Touch Pin
Kasama sa ESP32 ang mga onboard na analog-style na output at touch sensor na nagpapasimple sa pagbuo ng waveform, pagdidilim, kontrol ng motor, at mga interface ng gumagamit.
Pangkalahatang-ideya ng DAC

Dalawang 8-bit DAC channel ang naglalabas ng tunay na analog voltages:
| DAC | GPIO |
|---|---|
| DAC1 | GPIO25 |
| DAC2 | GPIO26 |
Kabilang sa mga karaniwang gamit ang simpleng audio, analog waveform, LED fading, at bias voltages. Ang saklaw ng output ay karaniwang 0-3.3 V.
PWM (LEDC)

Nagbibigay ang module ng LEDC ng mataas na resolusyon, nababaluktot na PWM:
● 16 Mga Channel
● Hanggang sa 40 MHz timer base
● Hanggang sa 20-bit na resolusyon
• Ganap na remappable GPIOs
Ginagamit para sa LED dimming, motor control, servo signal, audio tones, at pangkalahatang modulasyon. Ang anumang GPIO ay maaaring mag-host ng isang output ng PWM sa pamamagitan ng GPIO Matrix.
Touch Sensor Pin

Ang 10 capacitive touch pad ng ESP32 ay nakakakita ng kalapitan ng daliri at kapaki-pakinabang para sa mga pindutan ng touch, slider, at wake-up trigger.
| Touch Pad | GPIO |
|---|---|
| T0–T9 | GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32 |
Kasama sa mga sensor na ito ang pag-filter ng ingay at gumagana nang maayos para sa mga kaganapan sa paggising na may mababang kapangyarihan.
Mga Pin ng Komunikasyon ng ESP32
Kasama sa ESP32 ang isang mayamang hanay ng mga peripheral ng komunikasyon, bawat isa ay may kakayahang mai-route sa maraming mga pin sa pamamagitan ng nababaluktot na GPIO Matrix. Pinapayagan nito ang mga interface tulad ng I2C, SPI, at UART na maitalaga halos kahit saan, na nagpapagana ng lubos na napapasadyang mga layout ng board at mga kumbinasyon ng peripheral.
I2C (Default at Pasadyang Pin)

Kasama sa ESP32 ang dalawang I2C controller, na may buong kakayahang umangkop sa pagpili ng pin. Bagaman ang karamihan sa mga board ng pag-unlad ay gumagamit ng mga default na pin, ang parehong SDA at SCL ay maaaring muling italaga sa halos anumang GPIO.
| Senyas | Default na GPIO | Mga Tala |
|---|---|---|
| SDA | GPIO21 | Ganap na maibabalik |
| SCL | GPIO22 | Ganap na maibabalik |
Ang anumang dalawang digital GPIO ay maaaring kumilos bilang SDA at SCL. Sinusuportahan ang parehong standard-mode (100 kHz), fast-mode (400 kHz), at fast-mode plus (1 MHz depende sa board). Sinusuportahan ang mga panloob na pull-up sa ilang mga board, ngunit ang mga panlabas na 4.7 kΩ resistors ay inirerekomenda para sa matatag na komunikasyon. Ang kakayahang umangkop na ito ay ginagawang perpekto ang ESP32 para sa mga system na nangangailangan ng maraming mga sensor o hindi kinaugalian na pagruruta ng pin.
Kasama sa ESP32 ang maraming mga bus ng SPI, na may magagamit na HSPI at VSPI para sa mga aparato ng gumagamit. Parehong sumusuporta sa muling pag-map sa pamamagitan ng GPIO matrix, ngunit ang karamihan sa mga board at aklatan ay gumagamit ng sumusunod na default na pagsasaayos ng VSPI, na umiiwas sa mga salungatan sa mga panloob na koneksyon sa flash:
Default na Pagmamapa ng VSPI
• SCK → GPIO18
• MISO → GPIO19
• MOSI → GPIO23
• CS → GPIO5
Ang VSPI ay karaniwang ginusto para sa mga display, SD card, at high-speed peripherals. Habang ang mga pin ay maaaring i-reapp, ang paggamit ng mga default ay nagsisiguro ng maximum na pagiging tugma at binabawasan ang mga isyu sa tiyempo nang hindi inuulit ang mga paghihigpit na sakop na sa mga naunang seksyon.
UART (Serial)

Kasama sa ESP32 ang tatlong UART controller, na may kakayahang umangkop na routing na nagbibigay-daan sa anumang mga pin ng UART na lumipat sa halos anumang GPIO.
| UART | TX Pin | RX Pin | Pangunahing Layunin |
|---|---|---|---|
| UART0 | GPIO1 | GPIO3 | Pag-flash, mga mensahe ng boot, serial logging |
| UART1 | GPIO10 | GPIO9 | Magagamit para sa mga application ng gumagamit |
| UART2 | GPIO17 | GPIO16 | Magagamit para sa mga application ng gumagamit |
ESP32 Malalim na Pagtulog at RTC Pin
Kasama sa ESP32 ang isang Ultra-Low-Power (ULP) subsystem at isang dedikadong Real-Time Clock (RTC) domain na mananatiling pinalakas kahit na ang pangunahing CPU at mga peripheral ay naka-off. Ang arkitektura na ito ay nagbibigay-daan sa napakababang pagkonsumo ng kuryente, madalas sa saklaw ng microampere, na ginagawang angkop ang ESP32 para sa mga pangmatagalang aplikasyon na pinatatakbo ng baterya.
Ang malalim na pagtulog ay nagbibigay-daan sa chip na i-shut down ang mga pangunahing core, karamihan sa mga panloob na orasan, at ang Wi-Fi / Bluetooth radio, habang sinusubaybayan pa rin ang mga napiling pin at sensor sa pamamagitan ng RTC peripherals.

Ang ESP32 ay maaaring gumising mula sa malalim na pagtulog sa pamamagitan ng ilang mga in-independiyenteng trigger. Ang bawat mapagkukunan ng paggising ay nagpapatakbo sa loob ng domain ng RTC, na idinisenyo upang manatiling aktibo na may kaunting pagkonsumo ng kuryente.
| Uri ng Paggising | GPIOs / Mga Tala |
|---|---|
| Panlabas na RTC GPIO | GPIO32, GPIO33, GPIO25, GPIO26, GPIO27 - suporta sa gilid o antas ng paggising |
| Capacitive Touch Pads | T0-T9 - nakakakita ng kalapitan ng daliri o pagpindot sa panahon ng malalim na pagtulog |
| Paggising ng Timer | Maaaring gisingin ng RTC timer ang aparato pagkatapos ng isang naka-program na agwat |
| ULP Co-Processor | (Opsyonal) Maaaring tumakbo ang pasadyang low-power code upang suriin ang mga sensor bago gisingin ang pangunahing CPU |
Ang mga pin na ito ay nabibilang sa domain ng RTC at nananatiling aktibo kahit na ang CPU at regular na GPIO ay naka-power. Sinusuportahan nila ang paggising sa pamamagitan ng pagtaas / pagbagsak ng mga gilid o simpleng pagtuklas ng antas. Karaniwang ginagamit para sa wake-on-motion, magnetic switch, at low-power triggers.
Mga Pag-andar ng ESP32 Boot, Strapping, at EN Pin

Ang ESP32 ay gumagamit ng ilang mga strapping pin na tumutukoy sa mga pangunahing pagsasaayos ng system sa panahon ng pag-reset o pag-power-up. Ang mga pin na ito ay na-sample lamang sa boot at pagkatapos ay bumalik sa normal na pag-andar ng GPIO. Ang pagtiyak na hindi sila hinihimok sa mga hindi wastong antas sa panahon ng pag-reset ay kapaki-pakinabang para sa pare-pareho ang pag-uugali ng pagsisimula.
Talahanayan ng Pin ng Strapping
| Pin | Papel na ginagampanan ng boot | Kinakailangang Estado sa Boot |
|---|---|---|
| GPIO0 | Pinipili ang bootloader / flash mode | LOW = ipasok ang flash mode; MATAAS = normal na pagsisimula |
| GPIO2 | Tinutukoy ang panloob na antas ng boltahe ng boot | Dapat manatiling MATAAS |
| GPIO5 | Pagsasaayos ng SPI boot | Dapat manatiling MATAAS |
| GPIO12 | Pinipili ang boltahe ng flash (3.3 V / 1.8 V) | Dapat manatiling MABABA para sa 3.3 V flash |
| GPIO15 | Nagtatakda ng mode ng komunikasyon ng SPI sa panahon ng boot | Dapat manatiling MABABA |
Ang bahaging ito ay nagbibigay ng makapangyarihang sanggunian para sa pag-uugali ng strapping. Ang mga naunang bahagi ay nagbubuod lamang ng mga praktikal na epekto; gamitin ang talahanayan na ito kapag nagtatalaga ng mga pin sa mga pasadyang PCB o pagsasama ng mga pindutan at sensor.
EN Pin (Paganahin / I-reset)
Ang EN (Enable) pin ay gumaganap bilang master reset input para sa ESP32.
Pag-uugali ng EN Pin:
• Ang paghila ng EN LOW ay agad na nag-reset ng chip.
• Ang paglabas nito pabalik sa MATAAS ay nagpapalakas ng mga panloob na circuit at muling i-restart ang pagkakasunud-sunod ng boot.
• Sa mga board ng pag-unlad (hal., ESP32-DevKitC, NodeMCU-ESP32), ang EN ay nakatali sa USB-to-serial interface upang payagan ang awtomatikong pag-reset sa panahon ng pag-flash.
ESP32 Power Pin

Ang ESP32 ay sensitibo sa kalidad ng kuryente dahil ang mga Wi-Fi at Bluetooth radio nito ay gumuhit ng maikli, mataas na amplitude na kasalukuyang mga pulso. Tinitiyak ng matatag na paghahatid ng kuryente ang maaasahang pag-boot, nabawasan ang mga pag-reset ng brownout, at pare-pareho ang wireless na pagganap.
Buod ng Power Pin
| Pin | Boltahe | Gamitin |
|---|---|---|
| VIN | 5 V input | Pinapakain ang onboard regulator (karaniwang AMS1117 o ME6211) upang makabuo ng 3.3 V |
| 3V3 | 3.3 V output | Kinokontrol na output mula sa onboard LDO; Ginagamit upang mapalakas ang panlabas na mababang-kasalukuyang lohika at mga sensor |
| GND | — | Electrical reference at return path para sa lahat ng mga subsystem |
Inirerekumendang ESP32 Mga Pin at Mga Halimbawa ng Wiring
Ang pagpili ng tamang mga pin sa ESP32 ay kinakailangan para sa matatag na operasyon, malinis na pagruruta ng signal, at pag-iwas sa mga salungatan sa boot-strapping o panloob na mga koneksyon sa flash. Ang mga sumusunod na rekomendasyon ay nagha-highlight ng pinaka maaasahan, walang salungatan na mga pin para sa mga karaniwang pag-andar.
Mga Pagpipilian sa Pin
| Pag-andar | Pinakamahusay na Mga Pin | Mga Tala |
|---|---|---|
| I2C | 21 (SDA), 22 (SCL) | Default na pares na nasubok sa hardware; Gumagana sa karamihan ng mga board. |
| SPI | 18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS) | Ang mga pin na ito ay malinis na mapa sa VSPI at maiwasan ang mga pin na konektado sa flash. |
| UART | 16 (RX), 17 (TX) | Nakalaang UART2 pin, ligtas para sa boot at pag-debug. |
| PWM (LEDC) | 4, 16–19, 21–27, 32–33 | Mataas na kakayahang umangkop na saklaw; Maaaring i-route ang PWM sa halos anumang GPIO. |
| ADC | 32–39 (ADC1) | Ang mga channel ng ADC1 ay nananatiling magagamit kahit na aktibo ang Wi-Fi. |
Konklusyon
Ang pag-master ng ESP32 pinout ay nag-aalis ng hula at pinipigilan ang marami sa mga problema na lumilitaw sa aktwal na mga build, mula sa maingay na mga pagbabasa ng ADC hanggang sa walang katapusang mga boot loop. Sa pamamagitan ng pag-unawa sa mga ligtas na pin, pag-uugali ng strapping, integridad ng kuryente, at malalim na pagruruta, maaari kang magdisenyo ng mga circuit na mananatiling matatag, mahuhulaan, at handa nang wireless. Gamitin ang mga mapa ng pin at mga alituntunin sa itaas bilang iyong pundasyon para sa mga proyektong ESP32 na walang problema.
Mga Madalas Itanong [FAQ]
Paano ko i-configure ang PlatformIO para sa Freenove ESP32-S3 Breakout Board?
Gamitin ang karaniwang mga setting ng ESP32-S3 dev module. Sa iyong platformio.ini, idagdag:
[ENV:ESP32S3]
platform = espressif32
board = esp32-s3-devkitc-1
balangkas = arduino
Ito ay tumutugma sa Freenove pinout, na nagpapahintulot sa normal na pag-compile at pag-upload sa pamamagitan ng USB.
Gaano karaming mga peripheral ang maaaring tumakbo ang ESP32 nang sabay-sabay?
Dahil sa GPIO Matrix, ang ESP32 ay maaaring magpatakbo ng maramihang mga function ng I²C, SPI, UART, PWM, at ADC nang sabay-sabay, hangga't iniiwasan mo ang mga pinaghihigpitan na pin at manatili sa loob ng mga limitasyon ng CPU at tiyempo. Ang mga pangunahing bottleneck ay ang ADC2 sa panahon ng Wi-Fi at kalidad ng suplay ng kuryente, hindi ang bilang ng pin.
Bakit nag-reboot ang aking ESP32 kapag kumokonekta ng mga sensor o module?
Ang mga hindi inaasahang pag-reset ay karaniwang nagmumula sa mga dip ng boltahe na sanhi ng mga pagsabog ng Wi-Fi, motor, o hindi maayos na regulasyon ng mga supply. Ang paggamit ng isang 1 A o mas mataas na 5 V na mapagkukunan, pagdaragdag ng 10-100 μF bulk capacitors, at paghihiwalay ng maingay na naglo-load ay pumipigil sa mga brownout.
Maaari ko bang gamitin ang 3.3 V pin ng ESP32 upang mapagana ang mga panlabas na module?
Oo, ngunit para lamang sa mga aparatong mababa ang kasalukuyang (karaniwang mas mababa sa 300-500 mA, depende sa onboard LDO). Ang mga high-draw na peripheral tulad ng mga motor, servo, at malalaking LED strip ay dapat gumamit ng isang hiwalay na suplay ng kuryente upang maiwasan ang mga pag-reset at sobrang pag-init.
Paano ko pipiliin ang pinakamahusay na mga pin ng ESP32 kapag gumagamit ng maramihang mga peripheral?
Unahin ang mga di-strapping pin, iwasan ang GPIO6-11, ilagay ang mga analog sensor sa ADC1, at gumamit ng mga default na VSPI / I²C / UART pin kung maaari. Binabawasan nito ang mga salungatan at tinitiyak na ang lahat ng mga peripheral ay maaaring gumana nang magkasama nang walang mga isyu sa muling pagma-map.