Pinout ESP32 adalah salah satu kekuatan terbesarnya, dan salah satu sumber kebingungan yang paling umum. Dengan multiplexing berat, dependensi mode boot yang ketat, dan perilaku analog yang sensitif, pemilihan pin yang benar penting untuk pengoperasian yang stabil. Artikel ini mengatur setiap grup pin utama dengan jelas sehingga Anda dapat menghindari konflik, mencegah kegagalan boot, dan merancang perangkat keras berbasis ESP32 yang andal.

Memahami Pinout ESP32
ESP32 adalah mikrokontroler yang kuat dan fleksibel yang banyak digunakan dalam IoT, otomatisasi, dan perangkat pintar. Kemampuan canggihnya berasal dari sistem pinout yang sangat multipleks di mana banyak fungsi berbagi pin fisik yang sama. Ini termasuk I/O DIGITAL, saluran ADC, sensor sentuh kapasitif, bus komunikasi, pin domain RTC, dan koneksi internal untuk konfigurasi flash dan boot SPI. Karena banyak fungsi berbagi pin, kabel yang tidak tepat dapat menyebabkan boot yang gagal, pembacaan ADC yang bising, atau periferal yang dinonaktifkan.
Tata Letak Pin ESP32 DevKit

Papan pengembangan ESP32 biasanya hadir dalam versi 30-pin dan 38-pin, keduanya mengekspos fungsi inti yang sama, tetapi dengan perbedaan kecil dalam GPIO yang tersedia.
Grup Pin pada Papan Dev ESP32
| Grup | Deskripsi |
|---|---|
| Pin Daya | VIN (5 V), keluaran 3,3 V, GND |
| Pin Kontrol | EN (reset), IO0 (mode boot) |
| Pin GPIO | I/O digital dengan multiplexing |
| Pin Analog | Saluran ADC1 dan ADC2 |
| Pin Komunikasi | SPI, I2C, UART, I2S |
| Pin Khusus Input | GPIO34–GPIO39 |
| Pin yang Dipesan Flash | GPIO6–GPIO11 |
Pengaturan Header Umum
Header Kiri
• EN, GPIO36–39, GPIO34–35
• GPIO32–33, 25–27
• VIN, GND, 3.3V
Header Kanan
• GPIO0–23
• Pin pengikat boot (0, 2, 5, 12, 15)
Memahami tata letak fisik memudahkan untuk menghindari kesalahan dan merencanakan kabel secara efisien.
Ikhtisar GPIO ESP32

GPIO ESP32 fleksibel berkat Matriks I/O internal, yang memungkinkan periferal seperti UART, SPI, I2C, dan PWM dipetakan hampir di mana saja. GPIO mendukung input/output digital dengan resistor pull-up/down bawaan, interupsi yang dipicu tepi, dan switching yang andal pada kecepatan tinggi. Arus penggerak kontinu tipikal adalah 12–16 mA (puncak hingga ~20–40 mA), sehingga driver eksternal diperlukan untuk motor atau relai.
Pin Khusus Input
Pin ini tidak dapat menggerakkan output dan ideal untuk sensor dan input analog:
| Sematkan | Tipe | Penggunaan yang Direkomendasikan |
|---|---|---|
| GPIO34 | Hanya masukan | ADC1 / sensor |
| GPIO35 | Hanya masukan | ADC1 |
| GPIO36 (VP) | Hanya masukan | ADC1 / Sensor Hall |
| GPIO39 (VN) | Hanya masukan | ADC1 |
Pin ESP32 yang Aman untuk Digunakan dan Pin yang Harus Dihindari

Tidak semua pin ESP32 berperilaku sama. Beberapa aman, sementara yang lain memengaruhi mode boot atau terikat dengan memori flash internal.
Pin Aman (Direkomendasikan untuk Semua Pengguna)
| GPIO | Catatan |
|---|---|
| 4, 13–19, 21–27, 32, 33 | Tidak ada benturan boot, ideal untuk sebagian besar periferal |
Pin Perhatian (Mempengaruhi Mode Boot)
| GPIO | Fungsi Boot | Hindari Selama Boot |
|---|---|---|
| GPIO0 | Mode Flash/Boot | Tetap TINGGI (input) selama boot normal |
| GPIO2 | Tegangan boot | Harus TINGGI |
| GPIO5 | Mode boot opsional | Hindari menarik rendah |
| GPIO12 | Mode tegangan kilat | Harus tetap RENDAH |
| GPIO15 | Mode SPI | Harus tetap RENDAH |
Pin ini aman digunakan dalam pengoperasian normal, tetapi komponen eksternal tidak boleh menariknya ke tingkat logika yang tidak valid selama reset. Peran boot terperinci mereka dijelaskan di Bagian 9.
Pin Terbatas (Jangan Gunakan)
| GPIO | Alasan |
|---|---|
| GPIO6–11 | Terhubung ke memori flash SPI |
Menggunakan ini dapat membekukan atau merusak ESP32.
Pin ADC ESP32

ESP32 mengintegrasikan dua unit SAR ADC dengan perilaku operasional yang berbeda:
• ADC1 — Selalu tersedia dan direkomendasikan untuk semua input sensor
• ADC2 — Dibagikan dengan subsistem Wi-Fi dan menjadi tidak tersedia setiap kali Wi-Fi aktif
Ini adalah salah satu batasan utama ESP32, menjadikan ADC1 pilihan yang andal untuk pengukuran dalam aplikasi nirkabel.
| Unit ADC | Saluran | GPIO | Catatan |
|---|---|---|---|
| ADC1 | CH0–CH7 | GPIO32–39 | Pilihan terbaik untuk sensor |
| ADC2 | CH0–CH9 | 0, 2, 4, 12–15, 25–27 | Tidak dapat digunakan selama Wi-Fi |
Rentang Tegangan & Akurasi
ADC mendukung rentang input default 0–1.1 V, dapat diperpanjang hingga sekitar 3.3 V dengan redaman. Kedua unit ADC bersifat non-linier dan mendapat manfaat dari kalibrasi. Kinerja analog dapat dipengaruhi oleh aktivitas RF internal, sehingga merutekan saluran sensor menjauh dari antena dan menambahkan filter RC sederhana dapat sangat meningkatkan stabilitas. Untuk proyek berkemampuan Wi-Fi, selalu tempatkan sensor analog pada ADC1 untuk memastikan pengoperasian yang berkelanjutan dan bebas kebisingan.
ESP32 DAC, PWM, dan Pin Sentuh
ESP32 menyertakan output bergaya analog onboard dan sensor sentuh yang menyederhanakan pembuatan bentuk gelombang, peredupan, kontrol motor, dan antarmuka pengguna.
Ikhtisar DAC

Dua saluran DAC 8-bit mengeluarkan tegangan analog sejati:
| DAC | GPIO |
|---|---|
| DAC1 | GPIO25 |
| DAC2 | GPIO26 |
Penggunaan umum termasuk audio sederhana, bentuk gelombang analog, LED memudar, dan tegangan bias. Rentang keluaran biasanya 0–3.3 V.
PWM (LEDC)

Modul LEDC menyediakan PWM fleksibel resolusi tinggi:
• 16 saluran
• Basis pengatur waktu hingga 40 MHz
• Resolusi hingga 20-bit
• GPIO yang dapat diubah sepenuhnya
Digunakan untuk peredupan LED, kontrol motor, sinyal servo, nada audio, dan modulasi umum. GPIO apa pun dapat meng-host output PWM melalui Matriks GPIO.
Pin sensor sentuh

10 panel sentuh kapasitif ESP32 mendeteksi kedekatan jari dan berguna untuk tombol sentuh, penggeser, dan pemicu bangun.
| Bantalan Sentuh | GPIO |
|---|---|
| T0–T9 | GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32 |
Sensor ini mencakup penyaringan kebisingan dan bekerja dengan baik untuk peristiwa bangun berdaya rendah.
Pin Komunikasi ESP32
ESP32 menyertakan serangkaian periferal komunikasi yang kaya, masing-masing dapat dirutekan ke beberapa pin melalui Matriks GPIO yang fleksibel. Hal ini memungkinkan antarmuka seperti I2C, SPI, dan UART ditetapkan hampir di mana saja, memungkinkan tata letak papan dan kombinasi periferal yang sangat dapat disesuaikan.
I2C (Pin Default dan Kustom)

ESP32 menyertakan dua pengontrol I2C, dengan fleksibilitas penuh atas pemilihan pin. Meskipun sebagian besar papan pengembangan menggunakan pin default, SDA dan SCL dapat ditetapkan ulang ke hampir semua GPIO.
| Sinyal | GPIO Default | Catatan |
|---|---|---|
| SDA | GPIO21 | Sepenuhnya dapat diubah kembali |
| SCL | GPIO22 | Sepenuhnya dapat diubah kembali |
Dua GPIO digital dapat bertindak sebagai SDA dan SCL. Mendukung mode standar (100 kHz), mode cepat (400 kHz), dan mode cepat plus (1 MHz tergantung pada papan). Mendukung pull-up internal pada beberapa papan, tetapi resistor eksternal 4.7 kΩ direkomendasikan untuk komunikasi yang stabil. Fleksibilitas ini membuat ESP32 ideal untuk sistem yang membutuhkan banyak sensor atau perutean pin yang tidak konvensional.
ESP32 mencakup beberapa bus SPI, dengan HSPI dan VSPI tersedia untuk perangkat pengguna. Keduanya mendukung pemetaan ulang melalui matriks GPIO, tetapi sebagian besar papan dan pustaka menggunakan konfigurasi VSPI default berikut, yang menghindari konflik dengan koneksi flash internal:
Pemetaan VSPI Default
• SCK → GPIO18
• MISO → GPIO19
• MOSI → GPIO23
• CS → GPIO5
VSPI biasanya lebih disukai untuk tampilan, kartu SD, dan periferal berkecepatan tinggi. Meskipun pin dapat diterapkan ulang, menggunakan default memastikan kompatibilitas maksimum dan mengurangi masalah waktu tanpa mengulangi batasan yang telah dibahas di bagian sebelumnya.
UART (Serial)

ESP32 mencakup tiga pengontrol UART, dengan perutean fleksibel yang memungkinkan pin UART apa pun untuk berpindah ke hampir semua GPIO.
| UART | Pin TX | Pin RX | Tujuan Utama |
|---|---|---|---|
| UART0 | GPIO1 | GPIO3 | Berkedip, pesan boot, pencatatan serial |
| UART1 | GPIO10 | GPIO9 | Tersedia untuk aplikasi pengguna |
| UART2 | GPIO17 | GPIO16 | Tersedia untuk aplikasi pengguna |
ESP32 Deep-Sleep & RTC Pin
ESP32 menyertakan subsistem Ultra-Low-Power (ULP) dan domain Real-Time Clock (RTC) khusus yang tetap berdaya bahkan saat CPU utama dan periferal dimatikan. Arsitektur ini memungkinkan konsumsi daya yang sangat rendah, seringkali dalam kisaran mikroampere, membuat ESP32 cocok untuk aplikasi yang dioperasikan dengan baterai jangka panjang.
Tidur nyenyak memungkinkan chip untuk mematikan inti utama, sebagian besar jam internal, dan radio Wi-Fi/Bluetooth, sambil tetap memantau pin dan sensor yang dipilih melalui periferal RTC.

ESP32 dapat terbangun dari tidur nyenyak melalui beberapa pemicu independen. Setiap sumber bangun beroperasi di dalam domain RTC, yang dirancang untuk tetap aktif dengan konsumsi daya minimal.
| Jenis Bangun | GPIO / Catatan |
|---|---|
| GPIO RTC Eksternal | GPIO32, GPIO33, GPIO25, GPIO26, GPIO27 — mendukung bangun tepi atau level |
| Bantalan Sentuh Kapasitif | T0–T9 — mendeteksi kedekatan atau sentuhan jari selama tidur nyenyak |
| Timer Bangun | Pengatur waktu RTC dapat membangunkan perangkat setelah interval yang diprogram |
| Ko-Prosesor ULP | (Opsional) Kode daya rendah kustom dapat dijalankan untuk memeriksa sensor sebelum membangunkan CPU utama |
Pin ini milik domain RTC dan tetap aktif bahkan saat CPU dan GPIO biasa dimatikan. Mereka mendukung bangun melalui tepi naik/turun atau deteksi level sederhana. Biasa digunakan untuk bangun saat gerakan, sakelar magnetik, dan pemicu daya rendah.
Fungsi Boot, Strapping, dan EN Pin ESP32

ESP32 menggunakan beberapa pin pengikat yang menentukan konfigurasi sistem utama selama reset atau penyalaan. Pin ini diambil sampelnya hanya saat boot dan kemudian kembali ke fungsi GPIO normal. Memastikan mereka tidak didorong ke level yang tidak valid selama reset berguna untuk perilaku startup yang konsisten.
Meja Pin Pengikat
| Sematkan | Peran Boot | Status yang Diperlukan di Boot |
|---|---|---|
| GPIO0 | Memilih mode bootloader / flash | LOW = masuk ke mode flash; TINGGI = startup normal |
| GPIO2 | Menentukan tingkat tegangan boot internal | Harus tetap TINGGI |
| GPIO5 | Konfigurasi boot SPI | Harus tetap TINGGI |
| GPIO12 | Memilih tegangan kilat (3.3 V / 1.8 V) | Harus tetap RENDAH untuk lampu kilat 3.3 V |
| GPIO15 | Mengatur mode komunikasi SPI selama boot | Harus tetap RENDAH |
Bagian ini menyediakan referensi otoritatif untuk perilaku pengikat. Bagian sebelumnya hanya merangkum efek praktis; gunakan tabel ini saat menetapkan pin pada PCB khusus atau mengintegrasikan tombol dan sensor.
Pin ID (Aktifkan / Atur Ulang)
Pin EN (Enable) bertindak sebagai input reset master untuk ESP32.
Perilaku Pin ES:
• Menarik EN LOW segera mengatur ulang chip.
• Melepaskannya kembali ke TINGGI menyalakan sirkuit internal dan memulai ulang urutan boot.
• Pada papan pengembangan (misalnya, ESP32-DevKitC, NodeMCU-ESP32), EN terikat ke antarmuka USB-ke-serial untuk memungkinkan reset otomatis selama flashing.
Pin Daya ESP32

ESP32 sensitif terhadap kualitas daya karena radio Wi-Fi dan Bluetooth-nya menarik pulsa arus pendek dengan amplitudo tinggi. Pengiriman daya yang stabil memastikan booting yang andal, pengurangan reset brownout, dan kinerja nirkabel yang konsisten.
Ringkasan Pin Daya
| Sematkan | Tegangan | Penggunaan |
|---|---|---|
| VIN | Masukan 5 V | Memberi makan regulator onboard (biasanya AMS1117 atau ME6211) untuk menghasilkan 3,3 V |
| 3V3 | Keluaran 3.3 V | Output yang diatur dari LDO onboard; digunakan untuk memberi daya pada logika dan sensor arus rendah eksternal |
| GND | — | Referensi listrik dan jalur kembali untuk semua subsistem |
Pin & Pengkabelan ESP32 yang Direkomendasikan
Memilih pin yang tepat pada ESP32 diperlukan untuk pengoperasian yang stabil, perutean sinyal yang bersih, dan menghindari konflik dengan boot-strapping atau koneksi flash internal. Rekomendasi berikut menyoroti pin yang paling andal dan bebas konflik untuk fungsi umum.
Pilihan Pin
| Fungsi | Pin Terbaik | Catatan |
|---|---|---|
| I2C | 21 (SDA), 22 (SCL) | Pasangan default yang diuji perangkat keras; bekerja di sebagian besar papan. |
| SPI | 18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS) | Pin ini dipetakan dengan bersih ke VSPI dan menghindari pin yang terhubung dengan flash. |
| UART | 16 (RX), 17 (TX) | Pin UART2 khusus, aman untuk boot dan debugging. |
| PWM (LEDC) | 4, 16–19, 21–27, 32–33 | Rentang fleksibilitas tinggi; PWM dapat dirutekan ke hampir semua GPIO. |
| ADC | 32–39 (ADC1) | Saluran ADC1 tetap dapat digunakan bahkan saat Wi-Fi aktif. |
Kesimpulan
Menguasai pinout ESP32 menghilangkan dugaan dan mencegah banyak masalah yang muncul dalam build aktual, mulai dari pembacaan ADC yang berisik hingga loop boot tanpa akhir. Dengan memahami pin yang aman, perilaku pengikat, integritas daya, dan perutean tidur nyenyak, Anda dapat merancang sirkuit yang tetap stabil, dapat diprediksi, dan siap untuk nirkabel. Gunakan peta pin dan pedoman di atas sebagai fondasi Anda untuk proyek ESP32 yang bebas masalah.
Pertanyaan yang Sering Diajukan [FAQ]
Bagaimana cara mengkonfigurasi PlatformIO untuk Freenove ESP32-S3 Breakout Board?
Gunakan pengaturan modul dev ESP32-S3 standar. Di platformio.ini Anda, tambahkan:
[env:esp32s3]
platform = espressif32
papan = esp32-s3-devkitc-1
Kerangka kerja = Arduino
Ini cocok dengan pinout Freenove, memungkinkan kompilasi dan pengunggahan normal melalui USB.
Berapa banyak periferal yang dapat dijalankan ESP32 secara bersamaan?
Karena Matriks GPIO, ESP32 dapat menjalankan beberapa fungsi I²C, SPI, UART, PWM, dan ADC secara bersamaan, selama Anda menghindari pin terbatas dan tetap dalam batas CPU dan waktu. Kemacetan utama adalah ADC2 selama Wi-Fi dan kualitas catu daya, bukan jumlah pin.
Mengapa ESP32 saya reboot saat menghubungkan sensor atau modul?
Reset tak terduga biasanya berasal dari penurunan tegangan yang disebabkan oleh ledakan Wi-Fi, motor, atau pasokan yang tidak diatur dengan baik. Menggunakan sumber 5 V 1 A atau lebih tinggi, menambahkan kapasitor curah 10–100 μF, dan mengisolasi beban berisik mencegah pemadaman listrik.
Bisakah saya menggunakan pin 3.3 V ESP32 untuk memberi daya pada modul eksternal?
Ya, tetapi hanya untuk perangkat arus rendah (biasanya di bawah 300–500 mA, tergantung pada LDO onboard). Periferal penarikan tinggi seperti motor, servo, dan strip LED besar harus menggunakan catu daya terpisah untuk menghindari reset dan panas berlebih.
Bagaimana cara memilih pin ESP32 terbaik saat menggunakan beberapa periferal?
Prioritaskan pin non-pengikat, hindari GPIO6–11, tempatkan sensor analog pada ADC1, dan gunakan pin VSPI/I²C/UART default jika memungkinkan. Ini mengurangi konflik dan memastikan bahwa semua periferal dapat beroperasi bersama tanpa masalah pemetaan ulang.