Apa perbedaan antara ESP32
dan ESP8266? Haruskah Kalian menggunakan ESP32 atau ESP8266 dalam proyek Kalian?
Dalam artikel ini, akan membandingkan ESP32 dengan ESP8266 dan membahas pro dan
kontra dari setiap board.
ESP32 dan ESP8266 adalah
modul Wi-Fi murah yang sangat cocok untuk proyek DIY di bidang Internet of Things
(IoT) dan Otomasi Rumah.
Kedua chip memiliki prosesor
32-bit. ESP32 adalah CPU dual-core 160MHz hingga 240MHz, sedangkan ESP8266
adalah prosesor single-core yang berjalan pada 80MHz.
Modul ini dilengkapi dengan
GPIO yang mendukung berbagai protokol seperti SPI, I2C, UART, ADC, DAC, dan
PWM. Bagian terbaiknya adalah board ini dilengkapi dengan jaringan nirkabel
yang disertakan, yang membedakannya dari mikrokontroler lain seperti Arduino. Sehingga
dapat dengan mudah menggunakannya dari perangkat dengan jarak yang jauh
menggunakan koneksi wifi atau bluetooth, untuk esp32 harganya cukup terjangkau.
Atau, jika Kalian tidak
perlu menggunakan kemampuan nirkabelnya, Kalian dapat menggunakan ESP32/ESP8266
untuk mengontrol input dan output seperti yang Kalian lakukan dengan Arduino.
Namun, perlu diingat bahwa arduino bekerja pada tegangan 5V dan ESP32 atau
ESP8266 bekerja [ada tegangan 3.3V.
Spesifikasi: ESP32 vs
ESP8266
ESP32 adalah penerus
ESP8266. Ini menambahkan inti CPU ekstra, Wi-Fi lebih cepat, lebih banyak GPIO,
dan mendukung Bluetooth 4.2 dan Bluetooth hemat energi. Selain itu, ESP32
dilengkapi dengan pin sensitif sentuhan yang dapat digunakan untuk membangunkan
ESP32 dari tidur nyenyak, sensor efek hall built-in, dan sensor suhu built-in
(versi terbaru dari ESP32 tidak datang dengan built-in sensor suhu lagi).
Kedua board itu murah,
tetapi ESP32 harganya sedikit lebih mahal. Sementara ESP32 dapat berharga
sekitar $6 hingga $12, ESP8266 dapat berharga $4 hingga $6 (tetapi itu sangat
tergantung di mana Kalian mendapatkannya dan model apa yang Kalian beli).
Tabel berikut menunjukkan
perbedaan utama antara chip ESP8266 dan ESP32 (tabel diadaptasi dari AMICA_IO).
Menggunakan chip telanjang
ESP32 atau ESP8266 tidak mudah atau praktis, terutama saat pengujian dan
pembuatan prototipe. Sebagian besar waktu, Kalian ingin menggunakan board
pengembangan ESP32 dan ESP8266. Board ini dilengkapi dengan semua sirkuit yang
diperlukan untuk memberi daya pada chip, menghubungkannya ke komputer Kalian,
sirkuit untuk mengunggah kode dengan mudah, pin untuk menghubungkan periferal,
LED daya dan kontrol bawaan, dan fitur berguna lainnya.
Board pengembangan ESP32 dan
ESP8266 yang lebih sering kami gunakan adalah board Pengembangan ESP32 DEVKIT
DOIT dan Kit NodeMCU ESP8266 ESP-12E dan inilah yang kami rekomendasikan untuk
pemula. Namun, ada banyak model board pengembangan lain yang dapat Kalian
pilih. Kami menyarankan Kalian membaca panduan berikut:
• Board Pengembangan ESP8266
Terbaik
• Board Pengembangan ESP32
Terbaik
Lebih banyak GPIO di ESP32
ESP32 memiliki lebih banyak
GPIO daripada ESP8266, dan Kalian dapat memutuskan pin mana yang UART, I2C, SPI—Kalian
perlu mengaturnya pada kode. Ini dimungkinkan karena fitur multiplexing chip
ESP32 yang memungkinkan Kalian menetapkan beberapa fungsi ke pin yang sama.
Jika Kalian tidak
mengaturnya pada kode, mereka akan berada di pin yang ditentukan secara default,
seperti yang ditunjukkan pada gambar berikut (ini adalah contoh untuk board
DOIT ESP32 DEVKIT V1 (versi dengan 36 GPIOS)—lokasi pin dapat berubah
tergantung pada produsen).
Sebagai perbandingan,
berikut adalah diagram pinout untuk Kit NodeMCU ESP8266 ESP-12E.
PWM, ADC, dan Lainnya
Kalian dapat mengatur sinyal
PWM di GPIO apa pun dengan frekuensi yang dapat dikonfigurasi dan siklus tugas
yang diatur pada kode.
Ketika datang ke pin analog,
ini statis, tetapi ESP32 mendukung pengukuran pada 18 saluran (pin yang
mendukung analog) versus hanya satu pin ADC 10-bit pada ESP8266. ESP32 juga mendukung
dua saluran DAC 8-bit.
Selain itu, ESP32 berisi 10
GPIO penginderaan kapasitif, yang mendeteksi sentuhan dan dapat digunakan untuk
memicu peristiwa, atau membangunkan ESP32 dari tidur nyenyak, misalnya.
ESP32 mendukung protokol
komunikasi Bluetooth secara default, sedangkan ESP8266 tidak.
Arduino IDE – ESP32 vs
ESP8266
Ada banyak cara untuk
memprogram board ESP32 dan ESP8266. Kedua board dapat diprogram dengan inti
Arduino menggunakan Arduino IDE atau IDE lain (seperti VS Code dengan ekstensi
PlatformIO).
Ini adalah kabar baik,
terutama bagi mereka yang terbiasa memprogram board Arduino dan akrab dengan
"bahasa pemrograman" Arduino.
Memulai ESP32 atau ESP8266
menggunakan Arduino IDE dan menjalankan proyek pertama Kalian sangat sederhana.
Meskipun Kalian dapat
memprogram kedua board menggunakan Arduino IDE, mereka mungkin tidak kompatibel
dengan library dan fungsi yang sama. Beberapa library hanya kompatibel
dengan salah satu board. Ini berarti bahwa sebagian besar waktu, kode ESP8266 Kalian
tidak akan kompatibel dengan ESP32. Namun, biasanya, Kalian perlu melakukan
beberapa modifikasi.
MicroPython Firwmare – ESP32
vs ESP8266
Cara populer lain untuk
memprogram board ESP32 dan ESP8266 adalah menggunakan firmware MicroPython.
MicroPython adalah
implementasi ulang Python 3 yang ditargetkan untuk mikrokontroler dan sistem
tertanam. MicroPython sangat mirip dengan Python biasa. Jadi, jika Kalian sudah
tahu cara memprogram dengan Python, Kalian juga tahu cara memprogram di
MicroPython.
Di MicroPython, sebagian
besar skrip Python kompatibel dengan kedua board (tidak seperti saat
menggunakan Arduino IDE). Ini berarti bahwa sebagian besar waktu, Kalian dapat
menggunakan skrip yang sama untuk ESP32 dan ESP8266
Memulai MicroPython di ESP32
dan ESP8266
Memulai dengan Thonny
MicroPython (Python) IDE untuk ESP32 dan ESP8266
Jadi, pada titik ini Kalian
mungkin bertanya-tanya: apakah memilih ESP8266 atau ESP32?
Itu benar-benar tergantung
pada apa yang ingin Kalian lakukan. Ada ruang untuk kedua board, dan keduanya
memiliki pro dan kontra.
ESP8266 lebih murah daripada
ESP32. Meskipun tidak memiliki banyak fungsi, ini berfungsi dengan baik untuk
sebagian besar proyek IoT DIY sederhana. Namun, ia memiliki beberapa
keterbatasan dalam pemetaan GPIO, dan mungkin tidak memiliki cukup pin untuk
apa yang ingin Kalian lakukan. Jika itu masalahnya, Kalian harus mendapatkan
ESP32.
ESP32 jauh lebih bertenaga
daripada ESP8266, hadir dengan lebih banyak GPIO dengan banyak fungsi, Wi-Fi
lebih cepat, dan mendukung Bluetooth. Namun, banyak orang berpikir bahwa ESP32
lebih sulit untuk ditangani daripada ESP8266 karena lebih kompleks. Sebaliknya,
menurut kami, memprogram ESP32 sama mudahnya dengan ESP8266, terutama jika Kalian
ingin memprogramnya menggunakan "bahasa Arduino" atau MicroPython.
ESP32 juga memiliki beberapa
kekurangan. ESP32 lebih mahal daripada ESP8266. Jadi, jika Kalian sedang
membangun proyek IoT sederhana, ESP8266 mungkin melakukan trik dengan harga
yang lebih rendah. Selain itu, karena ESP8266 "lebih tua" daripada
ESP32, beberapa pustaka dan fitur dikembangkan lebih baik untuk ESP8266, dan Kalian
akan menemukan lebih banyak sumber daya (forum, orang dengan masalah yang sama,
dan cara menyelesaikannya, dll.). Namun, seiring berjalannya waktu, ESP32
diadopsi secara luas, dan perbedaan dalam hal pengembangan dan perpustakaan ini
tidak akan terlihat.
Pengalaman pribadi saya:
pada tahun 2021, saya menggunakan hampir secara eksklusif ESP32 untuk proyek
IoT. Ini lebih fleksibel, dan dilengkapi dengan lebih banyak fungsi seperti
Bluetooth, sumber bangun yang berbeda, banyak periferal, dan banyak lagi.
Selain itu, perbedaan harga bukan masalah besar menurut saya. Setelah Kalian
pindah ke ESP32, Kalian tidak akan ingin kembali ke ESP8266.
- ESP32 lebih cepat dari
ESP8266;
- ESP32 hadir dengan lebih
banyak GPIO dengan banyak fungsi;
- ESP32 mendukung pengukuran
analog pada 18 saluran (pin yang mendukung analog) versus hanya satu pin ADC
10-bit pada ESP8266;
- ESP32 mendukung Bluetooth
sedangkan ESP8266 tidak;
- ESP32 adalah dual-core, dan
ESP8266 adalah single core;
- ESP8266 lebih murah daripada
ESP32;
- ESP8266 memiliki komunitas
yang lebih luas (walaupun kami tidak berpikir bahwa pada titik ini,
perbedaannya sebesar itu);
- Untuk banyak proyek IoT dan
Wi-Fi, ESP8266 dapat melakukan pekerjaan itu dengan harga yang lebih rendah;
- Kedua board dapat diprogram
dengan inti Arduino menggunakan Arduino IDE atau IDE lain yang didukung.
Kedua board mendukung
firmware MicroPython.
Jadi, jika Kalian seorang
pemula, haruskah Kalian memulai dengan ESP32 atau ESP8266? Pada titik ini, kami
sangat merekomendasikan untuk memulai dengan ESP32 daripada ESP8266. Namun,
jika Kalian sudah memiliki board ESP8266, Kalian dapat memulai dengan board itu
dan kemudian beralih ke ESP32.