ESP32 adalah papan mikrokontroler murah dan hemat listrik buatan Espressif. Mikrokontroler ini sudah dilengkapi dengan koneksi WiFi dan Bluetooth, serta memiliki dua inti prosesor yang membuatnya cepat. Jika kamu pernah memakai ESP8266, maka ESP32 adalah versi lanjutannya dengan fitur yang lebih lengkap dan lebih canggih.
Artikel ini akan membahas:
- Apa itu ESP32 dan mengapa sangat populer
- Fitur dan spesifikasi utama ESP32
- Perbedaan antara ESP32 dan ESP8266
- Pengenalan development board ESP32
- Cara memilih board ESP32 yang tepat
- Panduan pinout ESP32
- Cara memprogram ESP32
1
Apa itu ESP32?
ESP32 adalah seri mikrokontroler yang dikembangkan oleh Espressif Systems. Dibangun di atas kesuksesan ESP8266, ESP32 menawarkan kombinasi WiFi dan Bluetooth dalam satu chip, menjadikannya pilihan ideal untuk berbagai aplikasi IoT (Internet of Things).
ESP32 hadir dengan prosesor dual-core yang powerfull, beragam peripheral I/O, dan fitur hemat daya, semua dalam paket yang kompak dan terjangkau.
ESP32 chip yang dikembangkan oleh Espressif Systems (sumber)
Mengapa ESP32 Sangat Populer?
ESP32 telah menjadi sangat populer di kalangan maker, penghobi elektronik, dan profesional IoT karena beberapa alasan utama:
💰
Biaya Rendah
ESP32 tersedia mulai dari $6, menjadikannya sangat terjangkau dan mudah diakses oleh masyarakat umum.
⚡
Daya Rendah
ESP32 mengonsumsi daya sangat sedikit dibandingkan mikrokontroler lain, dan mendukung mode deep sleep untuk menghemat daya.
📡
Kemampuan WiFi
ESP32 dapat terhubung ke jaringan WiFi (mode station) atau menciptakan jaringan sendiri (mode access point), esensial untuk proyek IoT.
🔷
Bluetooth
ESP32 mendukung Bluetooth klasik dan Bluetooth Low Energy (BLE), membuka banyak kemungkinan aplikasi IoT.
⚙️
Dual-core
Kebanyakan ESP32 memiliki dua prosesor Xtensa 32-bit LX6: core 0 dan core 1, memungkinkan pemrosesan parallel.
🔌
GPIO yang Kaya
ESP32 mendukung berbagai peripheral I/O seperti touch capacitive, ADCs, DACs, UART, SPI, I2C, PWM, dan banyak lagi.
2
Spesifikasi ESP32
Mari kita lihat spesifikasi teknis lengkap dari ESP32:
Spesifikasi Teknis ESP32
Sumber: http://esp32.net/. Untuk detail lebih lanjut, silakan cek datasheet resmi.
3
Perbedaan Utama Antara ESP32 dan ESP8266
Sebelumnya, kami menyebutkan bahwa ESP32 adalah penerus ESP8266. Apa perbedaan utama antara kedua board ini?
Perbandingan fisik antara ESP32 (kiri) dan ESP8266 (kanan) (sumber)
ESP32 menambahkan fitur-fitur berikut dibanding ESP8266:
- Core CPU tambahan (dual-core vs single-core)
- WiFi yang lebih cepat
- Lebih banyak GPIO
- Dukungan Bluetooth 4.2 dan Bluetooth Low Energy
- Pin sensitif sentuh yang dapat digunakan untuk membangunkan ESP32 dari deep sleep
- Sensor efek Hall bawaan
Perbandingan Singkat:
- ESP32 lebih cepat daripada ESP8266
- ESP32 dilengkapi dengan lebih banyak GPIO dengan berbagai fungsi
- ESP32 mendukung pengukuran analog pada 18 channel vs hanya satu pin ADC 10-bit pada ESP8266
- ESP32 mendukung Bluetooth sementara ESP8266 tidak
- ESP32 adalah dual-core (sebagian besar model), dan ESP8266 adalah single core
- ESP32 sedikit lebih mahal dari ESP8266 (berkisar $6-$12 vs $4-$6)
Untuk penjelasan lebih detail tentang perbedaan antara ESP32 dan ESP8266, Anda dapat membaca artikel: ESP32 vs ESP8266 – Pros and Cons
4
Development Board ESP32
“ESP32” merujuk pada chip ESP32 murni. Namun, istilah “ESP32” juga sering digunakan untuk merujuk pada development board ESP32. Menggunakan chip ESP32 secara langsung tidaklah mudah atau praktis, terutama saat belajar, menguji, dan membuat prototype. Sebagian besar waktu, Anda akan ingin menggunakan development board ESP32.
Berbagai jenis development board ESP32 (sumber)
Development board ini dilengkapi dengan semua rangkaian yang diperlukan untuk mentenagai dan memprogram chip, menghubungkannya ke komputer Anda, pin untuk menghubungkan peripheral, LED daya dan kontrol bawaan, antena untuk sinyal Wi-Fi, dan fitur berguna lainnya. Yang lain bahkan dilengkapi dengan hardware tambahan seperti sensor atau modul tertentu, display, atau kamera pada kasus ESP32-CAM.
Cara Memilih Development Board ESP32
Saat mencari board ESP32, ada beberapa aspek yang perlu Anda pertimbangkan:
- Antarmuka USB-to-UART dan rangkaian regulator tegangan – Penting untuk dengan mudah menghubungkan ESP32 ke komputer dan memberikan daya
- Tombol BOOT dan RESET/EN – Untuk masuk ke mode flashing atau me-reset board
- Konfigurasi pin dan jumlah pin – Pastikan Anda memiliki akses ke pinout board
- Konektor antena – Beberapa board dilengkapi dengan konektor antena untuk antena eksternal opsional
- Konektor baterai – Jika ingin mentenagai ESP32 dengan baterai
- Fitur hardware tambahan – Beberapa board datang dengan display OLED, modul LoRa, dll.
5
Board ESP32 Terbaik untuk Pemula
Untuk pemula, kami merekomendasikan board ESP32 dengan beragam GPIO yang tersedia, dan tanpa fitur hardware tambahan. Penting juga board tersebut dilengkapi dengan regulator tegangan dan input USB untuk daya dan upload kode.

ESP32 DevKitC v4
Di sebagian besar proyek ESP32 kami, kami menggunakan board ESP32 DevKitC v4, dan itulah yang kami rekomendasikan untuk pemula. Ada berbagai versi board ini dengan jumlah pin yang berbeda-beda (30, 36, dan 38) — semua board bekerja dengan cara yang sama.
Anda dapat memeriksa tautan berikut untuk menemukan board ESP32 DevKitC v4 di berbagai toko:
Board serupa lainnya dengan fitur yang disebutkan sebelumnya juga bisa menjadi pilihan yang baik seperti Adafruit ESP32 Feather, Sparkfun ESP32 Thing, NodeMCU-32S, Wemos LoLin32, dll.
ESP32 DevKitC v4
Sepanjang tutorial ini, kami akan menggunakan board ESP32 DevKitC v4 sebagai referensi. Jika Anda memiliki board yang berbeda, jangan khawatir. Informasi di tutorial ini kompatibel dengan sebagian besar development board ESP32.
ESP32 DevKitC v4 board, versi dengan 38 pin GPIO
Spesifikasi – ESP32 DevKitC v4
6
Panduan Pinout GPIO ESP32
Chip ESP32 dilengkapi dengan 48 pin dengan berbagai fungsi. Tidak semua pin terekspos di semua development board ESP32, dan beberapa pin sebaiknya tidak digunakan. Board ESP32 DevKitC v4 biasanya dilengkapi dengan 38 GPIO yang terekspos yang dapat Anda gunakan untuk menghubungkan peripheral. Namun, Anda akan menemukan bahwa model yang berbeda akan bervariasi dalam jumlah GPIO yang terekspos.
Pin Daya
Biasanya, semua board dilengkapi dengan pin daya: 3V3, GND, dan VIN. Anda dapat menggunakan pin ini untuk mentenagai board (jika Anda tidak menyediakan daya melalui port USB), atau untuk mendapatkan daya untuk peripheral lainnya (jika Anda mentenagai board menggunakan port USB).
Pin Input Output Tujuan Umum (GPIO)
Pin GPIO di ESP32 diberi nomor, dan saat menulis program, kita menggunakan nomor itu untuk mengatur fungsi pin tersebut—seperti menyalakan LED atau membaca sensor.
Dengan ESP32, Anda dapat memutuskan pin mana yang menjadi UART, I2C, atau SPI – Anda hanya perlu mengaturnya pada kode (Anda akan mempelajari lebih lanjut tentang ini nanti). Ini dimungkinkan karena fitur multiplexing chip ESP32 yang memungkinkan untuk menetapkan beberapa fungsi ke pin yang sama.
Pin Layout ESP32 DevKitC v4 (sumber)
Catatan: Untuk mempelajari lebih lanjut tentang GPIO ESP32, kami merekomendasikan untuk melihat bagian Panduan untuk GPIO ESP32 di akhir eBook. Anda dapat memeriksa pin yang sesuai untuk proyek Anda dan pin mana yang harus Anda hindari menggunakan.
Kami merekomendasikan mencetak pinout ini untuk referensi di masa mendatang. Anda dapat mengunduh pinout dalam file .pdf atau .png:
7
Cara Memprogram ESP32
ESP32 dapat diprogram menggunakan berbagai firmware dan bahasa pemrograman. Anda dapat menggunakan:
Arduino C/C++
Menggunakan Arduino core untuk ESP32
Espressif IDF
IoT Development Framework
MicroPython
Python untuk mikrokontroler
JavaScript
Dengan framework seperti Espruino
LUA
Dengan framework NodeMCU
Catatan: Tutorial ini berfokus secara eksklusif pada pemrograman ESP32 dengan C/C++ “bahasa pemrograman Arduino”.
Jika Anda ingin mempelajari cara memprogram board ESP32 menggunakan firmware MicroPython, kami memiliki eBook khusus untuk subjek tersebut: MicroPython Programming with ESP32 and ESP8266 eBook
Komunitas & Dukungan
Jika Anda memiliki pertanyaan atau mengalami kesulitan dengan materi ini, silakan tinggalkan komentar di bawah dan bila perlu jangan ragu untuk bertanya pada grup telegram https://t.me/kodingindonesia. Selamat belajar dan bereksperimen dengan ESP32!