Ipinaliwanag ang ESP32 Pinout: Ligtas na Mga Pin, Mga Panuntunan sa Kable at Halimbawa

Nob 25 2025
Pinagmulan: DiGi-Electronics
Mag-browse: 1782

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.

Figure 1. ESP32 Pinout

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

Figure 2. 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

PangkatPaglalarawan
Mga Pin ng KapangyarihanVIN (5 V), 3.3 V output, GND
Mga Pin ng ControlEN (i-reset), IO0 (boot mode)
Mga Pin ng GPIODigital I / O na may multiplexing
Analog PinMga channel ng ADC1 at ADC2
Mga Pin ng KomunikasyonSPI, I2C, UART, I2S
Mga Pin na Input LamangGPIO34–GPIO39
Mga Pine na Nakalaan sa FlashGPIO6–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

Figure 3. 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:

PinUriInirerekumendang Paggamit
GPIO34Input lamangADC1 / mga sensor
GPIO35Input lamangADC1
GPIO36 (VP)Input lamangADC1 / Hall sensor
GPIO39 (VN)Input lamangADC1

Ligtas na ESP32 Mga Pin na Dapat Gamitin at Mga Pin na Dapat Iwasan

Figure 4. Safe ESP32 Pins to Use and Pins to Avoid

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 GPIOMga Tala
4, 13–19, 21–27, 32, 33Walang epekto sa boot, mainam para sa karamihan ng mga peripheral

Mga Pin ng Pag-iingat (Makakaapekto sa Boot Mode)

GPIOPag-andar ng BootIwasan Sa Panahon ng Boot
GPIO0Flash / Boot modePanatilihing MATAAS (input) sa panahon ng normal na pag-boot
GPIO2Boltahe ng bootDapat ay MATAAS
GPIO5Opsyonal na mode ng bootIwasan ang paghila ng mababa
GPIO12Mode ng boltahe ng flashDapat manatiling MABABA
GPIO15SPI modeDapat 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)

GPIODahilan
GPIO6–11Konektado sa SPI flash memory

Ang paggamit ng mga ito ay maaaring mag-freeze o mag-crash ng ESP32.

ESP32 ADC Pin

Figure 5. ESP32 ADC Pins

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 ADCMga ChannelMga GPIOMga Tala
ADC1CH0–CH7GPIO32–39Pinakamahusay na pagpipilian para sa mga sensor
ADC2CH0–CH90, 2, 4, 12–15, 25–27Hindi 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

Figure 6. ESP32 DAC

Dalawang 8-bit DAC channel ang naglalabas ng tunay na analog voltages:

DACGPIO
DAC1GPIO25
DAC2GPIO26

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)

Figure 7. ESP32 PWM

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

Figure 8. ESP32 Touch Sensor Pins

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 PadGPIO
T0–T9GPIO4, 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)

Figure 9. ESP32 I2C Pins

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.

SenyasDefault na GPIOMga Tala
SDAGPIO21Ganap na maibabalik
SCLGPIO22Ganap 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)

Figure 10. ESP32 UART Pins

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.

UARTTX PinRX PinPangunahing Layunin
UART0GPIO1GPIO3Pag-flash, mga mensahe ng boot, serial logging
UART1GPIO10GPIO9Magagamit para sa mga application ng gumagamit
UART2GPIO17GPIO16Magagamit 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.

Figure 11. ESP32 RTC Pins

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 PaggisingGPIOs / Mga Tala
Panlabas na RTC GPIOGPIO32, GPIO33, GPIO25, GPIO26, GPIO27 - suporta sa gilid o antas ng paggising
Capacitive Touch PadsT0-T9 - nakakakita ng kalapitan ng daliri o pagpindot sa panahon ng malalim na pagtulog
Paggising ng TimerMaaaring 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

Figure 12.ESP32 Strapping Pins

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

PinPapel na ginagampanan ng bootKinakailangang Estado sa Boot
GPIO0Pinipili ang bootloader / flash modeLOW = ipasok ang flash mode; MATAAS = normal na pagsisimula
GPIO2Tinutukoy ang panloob na antas ng boltahe ng bootDapat manatiling MATAAS
GPIO5Pagsasaayos ng SPI bootDapat manatiling MATAAS
GPIO12Pinipili ang boltahe ng flash (3.3 V / 1.8 V)Dapat manatiling MABABA para sa 3.3 V flash
GPIO15Nagtatakda ng mode ng komunikasyon ng SPI sa panahon ng bootDapat 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

Figure 13. ESP32 Power Pins

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

PinBoltaheGamitin
VIN5 V inputPinapakain ang onboard regulator (karaniwang AMS1117 o ME6211) upang makabuo ng 3.3 V
3V33.3 V outputKinokontrol na output mula sa onboard LDO; Ginagamit upang mapalakas ang panlabas na mababang-kasalukuyang lohika at mga sensor
GNDElectrical 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-andarPinakamahusay na Mga PinMga Tala
I2C21 (SDA), 22 (SCL)Default na pares na nasubok sa hardware; Gumagana sa karamihan ng mga board.
SPI18 (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.
UART16 (RX), 17 (TX)Nakalaang UART2 pin, ligtas para sa boot at pag-debug.
PWM (LEDC)4, 16–19, 21–27, 32–33Mataas na kakayahang umangkop na saklaw; Maaaring i-route ang PWM sa halos anumang GPIO.
ADC32–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.