Pinout ESP32 ialah salah satu kekuatan terbesarnya, dan salah satu sumber kekeliruan yang paling biasa. Dengan pemultipleksan berat, kebergantungan mod but yang ketat dan tingkah laku analog yang sensitif, pemilihan pin yang betul adalah penting untuk operasi yang stabil. Artikel ini menyusun setiap kumpulan pin utama dengan jelas supaya anda boleh mengelakkan konflik, mengelakkan kegagalan but dan mereka bentuk perkakasan berasaskan ESP32 yang boleh dipercayai.

Memahami Pinout ESP32
ESP32 ialah mikropengawal yang berkuasa dan fleksibel yang digunakan secara meluas dalam IoT, automasi dan peranti pintar. Keupayaan canggihnya datang daripada sistem pinout yang sangat multipleks di mana banyak fungsi berkongsi pin fizikal yang sama. Ini termasuk I / O digital, saluran ADC, penderia sentuh kapasitif, bas komunikasi, pin domain RTC dan sambungan dalaman untuk konfigurasi denyar dan but SPI. Oleh kerana banyak fungsi berkongsi pin, pendawaian yang tidak betul boleh menyebabkan but gagal, bacaan ADC yang bising atau peranti dilumpuhkan.
Susun atur Pin ESP32 DevKit

Papan pembangunan ESP32 biasanya datang dalam versi 30-pin dan 38-pin, kedua-duanya mendedahkan fungsi teras yang sama, tetapi dengan perbezaan kecil dalam GPIO yang tersedia.
Kumpulan Pin pada Papan Dev ESP32
| Kumpulan | Penerangan |
|---|---|
| Pin Kuasa | VIN (5 V), output 3.3 V, GND |
| Pin Kawalan | EN (tetapkan semula), IO0 (mod but) |
| Pin GPIO | I/O Digital dengan pemultipleksan |
| Pin Analog | Saluran ADC1 dan ADC2 |
| Pin Komunikasi | SPI, I2C, UART, I2S |
| Pin Input Sahaja | GPIO34–GPIO39 |
| Pin Dikhaskan Flash | GPIO6–GPIO11 |
Susunan Pengepala Biasa
Tajuk Kiri
• EN, GPIO36–39, GPIO34–35
• GPIO32–33, 25–27
• VIN, GND, 3.3V
Tajuk Kanan
• GPIO0–23
• Pin pengikat but (0, 2, 5, 12, 15)
Memahami susun atur fizikal menjadikannya lebih mudah untuk mengelakkan kesilapan dan merancang pendawaian dengan cekap.
Gambaran Keseluruhan ESP32 GPIO

GPIO ESP32 adalah fleksibel terima kasih kepada Matriks I/O dalaman, yang membolehkan peranti seperti UART, SPI, I2C dan PWM dipetakan hampir di mana-mana sahaja. GPIO menyokong input/output digital dengan perintang tarik naik/bawah terbina dalam, gangguan yang dicetuskan tepi dan pensuisan yang boleh dipercayai pada kelajuan tinggi. Arus pemacu berterusan biasa ialah 12–16 mA (puncak sehingga ~20–40 mA), jadi pemacu luaran diperlukan untuk motor atau geganti.
Pin Input Sahaja
Pin ini tidak boleh memacu output dan sesuai untuk penderia dan input analog:
| Pin | Jenis | Penggunaan yang Disyorkan |
|---|---|---|
| GPIO34 | Input sahaja | ADC1 / penderia |
| GPIO35 | Input sahaja | ADC1 |
| GPIO36 (VP) | Input sahaja | ADC1 / Penderia Dewan |
| GPIO39 (VN) | Input sahaja | ADC1 |
Pin ESP32 Selamat untuk Digunakan dan Pin untuk Dielakkan

Tidak semua pin ESP32 berkelakuan sama. Sesetengahnya selamat, manakala yang lain mempengaruhi mod but atau terikat pada memori kilat dalaman.
Pin Selamat (Disyorkan untuk Semua Pengguna)
| GPIO | Nota |
|---|---|
| 4, 13–19, 21–27, 32, 33 | Tiada kesan but, sesuai untuk kebanyakan peranti |
Pin Berhati-hati (Menjejaskan Mod But)
| GPIO | Fungsi But | Elakkan Semasa But |
|---|---|---|
| GPIO0 | Mod Flash/Boot | Kekalkan TINGGI (input) semasa but biasa |
| GPIO2 | Voltan but | Mestilah TINGGI |
| GPIO5 | Mod but pilihan | Elakkan menarik rendah |
| GPIO12 | Mod voltan kilat | Mesti kekal RENDAH |
| GPIO15 | Mod SPI | Mesti kekal RENDAH |
Pin ini selamat digunakan dalam operasi biasa, tetapi komponen luaran tidak boleh menariknya ke tahap logik yang tidak sah semasa tetapan semula. Peranan but terperinci mereka dijelaskan dalam Bahagian 9.
Pin Terhad (Jangan Gunakan)
| GPIO | Sebab |
|---|---|
| GPIO6–11 | Disambungkan ke memori kilat SPI |
Menggunakan ini boleh membekukan atau ranap ESP32.
Pin ADC ESP32

ESP32 menyepadukan dua unit SAR ADC dengan tingkah laku operasi yang berbeza:
• ADC1 — Sentiasa tersedia dan disyorkan untuk semua input penderia
• ADC2 — Dikongsi dengan subsistem Wi-Fi dan menjadi tidak tersedia apabila Wi-Fi aktif
Ini adalah salah satu had utama ESP32, menjadikan ADC1 pilihan yang boleh dipercayai untuk pengukuran dalam aplikasi wayarles.
| Unit ADC | Saluran | GPIO | Nota |
|---|---|---|---|
| ADC1 | CH0–CH7 | GPIO32–39 | Pilihan terbaik untuk penderia |
| ADC2 | CH0–CH9 | 0, 2, 4, 12–15, 25–27 | Tidak boleh digunakan semasa Wi-Fi |
Julat Voltan & Ketepatan
ADC menyokong julat input 0–1.1 V lalai, boleh dilanjutkan kepada kira-kira 3.3 V dengan pengecilan. Kedua-dua unit ADC adalah bukan linear dan mendapat manfaat daripada penentukuran. Prestasi analog boleh dipengaruhi oleh aktiviti RF dalaman, jadi menghalakan talian penderia daripada antena dan menambah penapis RC mudah boleh meningkatkan kestabilan. Untuk projek yang didayakan Wi-Fi, sentiasa letakkan penderia analog pada ADC1 untuk memastikan operasi berterusan dan bebas bunyi.
ESP32 DAC, PWM dan Pin Sentuh
ESP32 termasuk output gaya analog onboard dan penderia sentuh yang memudahkan penjanaan bentuk gelombang, peredupan, kawalan motor dan antara muka pengguna.
Gambaran Keseluruhan DAC

Dua saluran DAC 8-bit mengeluarkan voltan analog sebenar:
| DAC | GPIO |
|---|---|
| DAC1 | GPIO25 |
| DAC2 | GPIO26 |
Kegunaan biasa termasuk audio ringkas, bentuk gelombang analog, pudar LED dan voltan berat sebelah. Julat keluaran biasanya 0–3.3 V.
PWM (LEDC)

Modul LEDC menyediakan PWM fleksibel resolusi tinggi:
• 16 saluran
• Asas pemasa sehingga 40 MHz
• Resolusi sehingga 20-bit
• GPIO yang boleh diubah sepenuh
Digunakan untuk peredupan LED, kawalan motor, isyarat servo, nada audio dan modulasi am. Mana-mana GPIO boleh mengehoskan output PWM melalui Matriks GPIO.
Pin Penderia Sentuh

10 pad sentuh kapasitif ESP32 mengesan kedekatan jari dan berguna untuk butang sentuh, gelangsar dan pencetus bangun.
| Pad Sentuh | GPIO |
|---|---|
| T0–T9 | GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32 |
Penderia ini termasuk penapisan bunyi dan berfungsi dengan baik untuk acara bangun berkuasa rendah.
Pin Komunikasi ESP32
ESP32 termasuk set peranti komunikasi yang kaya, setiap satu mampu dihalakan ke berbilang pin melalui Matriks GPIO yang fleksibel. Ini membolehkan antara muka seperti I2C, SPI dan UART diberikan hampir di mana-mana sahaja, membolehkan susun atur papan dan kombinasi persisian yang sangat boleh disesuaikan.
I2C (Pin lalai dan tersuai)

ESP32 termasuk dua pengawal I2C, dengan fleksibiliti penuh ke atas pemilihan pin. Walaupun kebanyakan papan pembangunan menggunakan pin lalai, kedua-dua SDA dan SCL boleh ditugaskan semula kepada hampir mana-mana GPIO.
| Isyarat | GPIO lalai | Nota |
|---|---|---|
| SDA | GPIO21 | Boleh diubah semula sepenuhnya |
| SCL | GPIO22 | Boleh diubah semula sepenuhnya |
Mana-mana dua GPIO digital boleh bertindak sebagai SDA dan SCL. Menyokong kedua-dua mod standard (100 kHz), mod pantas (400 kHz) dan mod pantas tambah (1 MHz bergantung pada papan). Menyokong pull-up dalaman pada beberapa papan, tetapi perintang luaran 4.7 kΩ disyorkan untuk komunikasi yang stabil. Fleksibiliti ini menjadikan ESP32 sesuai untuk sistem yang memerlukan berbilang penderia atau penghalaan pin yang tidak konvensional.
ESP32 termasuk berbilang bas SPI, dengan HSPI dan VSPI tersedia untuk peranti pengguna. Kedua-duanya menyokong pemetaan semula melalui matriks GPIO, tetapi kebanyakan papan dan perpustakaan menggunakan konfigurasi VSPI lalai berikut, yang mengelakkan konflik dengan sambungan kilat dalaman:
Pemetaan VSPI Lalai
• SCK → GPIO18
• MISO → GPIO19
• MOSI → GPIO23
• CS → GPIO5
VSPI biasanya lebih disukai untuk paparan, kad SD dan peranti berkelajuan tinggi. Walaupun pin boleh ditukar semula, menggunakan lalai memastikan keserasian maksimum dan mengurangkan isu pemasaan tanpa mengulangi sekatan yang telah dibincangkan dalam bahagian terdahulu.
UART (Bersiri)

ESP32 termasuk tiga pengawal UART, dengan penghalaan fleksibel yang membolehkan mana-mana pin UART bergerak ke hampir mana-mana GPIO.
| UART | Pin TX | Pin RX | Tujuan Utama |
|---|---|---|---|
| UART0 | GPIO1 | GPIO3 | Berkelip, mesej but, pembalakan bersiri |
| UART1 | GPIO10 | GPIO9 | Tersedia untuk aplikasi pengguna |
| UART2 | GPIO17 | GPIO16 | Tersedia untuk aplikasi pengguna |
ESP32 Deep Sleep & RTC Pin
ESP32 termasuk subsistem Ultra-Low-Power (ULP) dan domain Jam Masa Nyata (RTC) khusus yang kekal berkuasa walaupun CPU utama dan peranti dimatikan. Seni bina ini membolehkan penggunaan kuasa yang sangat rendah, selalunya dalam julat mikroampere, menjadikan ESP32 sesuai untuk aplikasi yang dikendalikan bateri jangka panjang.
Tidur nyenyak membolehkan cip mematikan teras utama, kebanyakan jam dalaman dan radio Wi-Fi/Bluetooth, sambil masih memantau pin dan penderia terpilih melalui peranti RTC.

ESP32 boleh bangun daripada tidur nyenyak melalui beberapa pencetus bebas. Setiap sumber bangun beroperasi di dalam domain RTC, yang direka bentuk untuk kekal aktif dengan penggunaan kuasa yang minimum.
| Jenis Bangun | GPIO / Nota |
|---|---|
| GPIO RTC Luaran | GPIO32, GPIO33, GPIO25, GPIO26, GPIO27 — sokongan tepi atau tahap bangun |
| Pad Sentuh Kapasitif | T0–T9 — mengesan kedekatan jari atau sentuhan semasa tidur nyenyak |
| Pemasa Bangun | Pemasa RTC boleh membangunkan peranti selepas selang masa yang diprogramkan |
| Pemproses Bersama ULP | (Pilihan) Kod kuasa rendah tersuai boleh dijalankan untuk menyemak penderia sebelum membangunkan CPU utama |
Pin ini tergolong dalam domain RTC dan kekal aktif walaupun CPU dan GPIO biasa dimatikan. Mereka menyokong bangun melalui tepi naik/turun atau pengesanan tahap mudah. Biasanya digunakan untuk bangun semasa gerakan, suis magnet dan pencetus kuasa rendah.
Fungsi But ESP32, Tali dan Pin EN

ESP32 menggunakan beberapa pin pengikat yang menentukan konfigurasi sistem utama semasa tetapan semula atau dihidupkan. Pin ini disampelkan hanya semasa but dan kemudian kembali kepada fungsi GPIO biasa. Memastikan ia tidak didorong ke tahap tidak sah semasa tetapan semula berguna untuk tingkah laku permulaan yang konsisten.
Jadual Pin Pengikat
| Pin | Peranan but | Keadaan yang Diperlukan di Boot |
|---|---|---|
| GPIO0 | Memilih mod pemuat but / kilat | LOW = masukkan mod kilat; TINGGI = permulaan biasa |
| GPIO2 | Mentakrifkan tahap voltan but dalaman | Mesti kekal TINGGI |
| GPIO5 | Konfigurasi but SPI | Mesti kekal TINGGI |
| GPIO12 | Memilih voltan kilat (3.3 V / 1.8 V) | Mesti kekal RENDAH untuk denyar 3.3 V |
| GPIO15 | Menetapkan mod komunikasi SPI semasa but | Mesti kekal RENDAH |
Bahagian ini menyediakan rujukan berwibawa untuk tingkah laku mengikat. Bahagian terdahulu hanya meringkaskan kesan praktikal; gunakan jadual ini apabila menetapkan pin pada PCB tersuai atau menyepadukan butang dan penderia.
Pin EN (Dayakan / Tetapkan Semula)
Pin EN (Dayakan) bertindak sebagai input tetapan semula induk untuk ESP32.
Tingkah Laku Pin EN:
• Menarik EN LOW menetapkan semula cip dengan segera.
• Melepaskannya kembali kepada TINGGI menghidupkan litar dalaman dan memulakan semula urutan but.
• Pada papan pembangunan (cth, ESP32-DevKitC, NodeMCU-ESP32), EN terikat pada antara muka USB-ke-siri untuk membolehkan tetapan semula automatik semasa berkelip.
Pin Kuasa ESP32

ESP32 sensitif terhadap kualiti kuasa kerana radio Wi-Fi dan Bluetoothnya menarik denyutan arus pendek amplitud tinggi. Penghantaran kuasa yang stabil memastikan but yang boleh dipercayai, tetapan semula brownout yang dikurangkan dan prestasi wayarles yang konsisten.
Ringkasan Pin Kuasa
| Pin | Voltan | Penggunaan |
|---|---|---|
| VIN | Input 5 V | Memberi makan pengawal selia onboard (biasanya AMS1117 atau ME6211) untuk menjana 3.3 V |
| 3V3 | Keluaran 3.3 V | Output terkawal daripada LDO onboard; digunakan untuk menggerakkan logik dan penderia arus rendah luaran |
| GND | — | Rujukan elektrik dan laluan pulangan untuk semua subsistem |
Contoh Pin & Pendawaian ESP32 yang Disyorkan
Memilih pin yang betul pada ESP32 diperlukan untuk operasi yang stabil, penghalaan isyarat yang bersih dan mengelakkan konflik dengan sambungan but-strapping atau denyar dalaman. Cadangan berikut menyerlahkan pin yang paling boleh dipercayai dan bebas konflik untuk fungsi biasa.
Pilihan Pin
| Fungsi | Pin Terbaik | Nota |
|---|---|---|
| I2C | 21 (SDA), 22 (SCL) | Pasangan yang diuji perkakasan lalai; berfungsi di kebanyakan papan. |
| SPI | 18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS) | Pin ini dipetakan dengan bersih kepada VSPI dan mengelakkan pin yang disambungkan denyar. |
| UART | 16 (RX), 17 (TX) | Pin UART2 khusus, selamat untuk but dan penyahpepijatan. |
| PWM (LEDC) | 4, 16–19, 21–27, 32–33 | Julat fleksibiliti tinggi; PWM boleh dihalakan ke hampir mana-mana GPIO. |
| ADC | 32–39 (ADC1) | Saluran ADC1 kekal boleh digunakan walaupun Wi-Fi aktif. |
Kesimpulannya
Menguasai pinout ESP32 mengalih keluar tekaan dan menghalang banyak masalah yang muncul dalam binaan sebenar, daripada bacaan ADC yang bising kepada gelung but yang tidak berkesudahan. Dengan memahami pin selamat, tingkah laku mengikat, integriti kuasa dan penghalaan tidur nyenyak, anda boleh mereka bentuk litar yang kekal stabil, boleh diramal dan sedia tanpa wayar. Gunakan peta pin dan garis panduan di atas sebagai asas anda untuk projek ESP32 tanpa masalah.
Soalan Lazim [Soalan Lazim]
Bagaimanakah cara saya mengkonfigurasi PlatformIO untuk Papan Pelarian Freenove ESP32-S3?
Gunakan tetapan modul pembangun ESP32-S3 standard. Dalam platformio.ini anda, tambahkan:
[env:esp32s3]
platform = espressif32
papan = esp32-s3-devkitc-1
rangka kerja = arduino
Ini sepadan dengan pinout Freenove, membolehkan penyusunan dan muat naik biasa melalui USB.
Berapa banyak peranti yang boleh dijalankan oleh ESP32 pada masa yang sama?
Oleh kerana Matriks GPIO, ESP32 boleh menjalankan berbilang fungsi I²C, SPI, UART, PWM dan ADC secara serentak, selagi anda mengelakkan pin terhad dan kekal dalam had CPU dan masa. Kesesakan utama ialah ADC2 semasa Wi-Fi dan kualiti bekalan kuasa, bukan kiraan pin.
Mengapakah ESP32 saya but semula apabila menyambungkan penderia atau modul?
Tetapan semula yang tidak dijangka biasanya datang daripada penurunan voltan yang disebabkan oleh letupan Wi-Fi, motor atau bekalan yang tidak dikawal dengan baik. Menggunakan sumber 5 V 1 A atau lebih tinggi, menambah kapasitor pukal 10–100 μF dan mengasingkan beban bising menghalang pemadaman listrik.
Bolehkah saya menggunakan pin 3.3 V ESP32 untuk menggerakkan modul luaran?
Ya, tetapi hanya untuk peranti arus rendah (biasanya di bawah 300–500 mA, bergantung pada LDO onboard). Peranti cabutan tinggi seperti motor, servo dan jalur LED besar mesti menggunakan bekalan kuasa yang berasingan untuk mengelakkan tetapan semula dan terlalu panas.
Bagaimanakah cara saya memilih pin ESP32 terbaik apabila menggunakan berbilang persisian?
Utamakan pin bukan tali, elakkan GPIO6–11, letakkan penderia analog pada ADC1 dan gunakan pin VSPI/I²C/UART lalai apabila boleh. Ini mengurangkan konflik dan memastikan semua peranti boleh beroperasi bersama tanpa isu pemetaan semula.