Mikrokontroler adalah sirkuit terpadu yang dapat diprogram untuk melakukan tugas secara mandiri tanpa perangkat lain. Raspberry Pi Pico dan ESP32 adalah dua mikrokontroler paling populer di pasaran. Keduanya merupakan mikrokontroler kecil dan hemat daya yang dibangun di atas CPU dual-core 32-bit yang dapat digunakan untuk mengendalikan proyek elektronik.
Ada beberapa perbandingan antara kedua perangkat ini
yang mungkin menarik bagi Anda jika Anda sedang mencari papan mikrokontroler
baru. Perbandingan tersebut dapat dilihat dari segi biaya, daya pemrosesan,
perangkat keras dan fitur konektivitas dari masing-masing papan ini. Di bawah ini akan dijelaskan apa saja perbandingan mikrokontroler ESP32 vs Raspberry Pi Pico.
MIKROKONTROLER ESP32
Mikrokontroler ESP32 adalah mikrokontroler yang
dikembangkan oleh perusahaan Espressif Systems yang berbasis di Shanghai, Cina.
Mikrokontroler ini pertama kali diperkenalkan pada tahun 2016 sebagai penerus
dari ESP8266. Jika dibandingkan dengan sebelumnya, ESP32 memberikan solusi yang
lebih kuat dan lebih serbaguna. ESP32 menggabungkan
prosesor ganda, yaitu dua inti Tensilica LX6 yang beroperasi pada frekuensi
hingga 240 MHz. Mikrokontroler ESP32 cocok
untuk aplikasi yang memerlukan pemrosesan data yang lebih intensif.
Spesifikasi Mikrokontroler ESP32
• Prosesor dual-core Tensilica LX6 dengan kecepatan maksimum hingga 240 MHz.
• Memori sebesar 520 KB SRAM, 448 KB ROM dan terdapat dukungan untuk memori eksternal.
• Konektivitas Wi-Fi 802.11 b/g/n, Bluetooth 4.2 (termasuk BLE).
• 36 pin GPIO serbaguna.
• Interface peripheral seperti SPI, I2C, I2S, UART, ADC, DAC, PWM dan lain-lain.
• Fitur tambahan seperti sensor suhu internal, modul pengelolaan daya dan berbagai fitur keamanan.
Arsitektur Mikrokontroler ESP32
ESP32 terdiri dari dua inti prosesor utama yang dapat bekerja secara independen. Hal ini memungkinkan pengembang untuk menjalankan tugas-tugas yang berbeda pada setiap inti, sehingga meningkatkan efisiensi dan kinerja. Selain itu, ESP32 juga memiliki sejumlah modul perangkat keras seperti modul Wi-Fi dan Bluetooth yang terintegrasi, sehingga sangat cocok untuk aplikasi yang membutuhkan konektivitas nirkabel.
Fitur Utama Mikrokontroler ESP32
1. Konektivitas Wi-Fi dan Bluetooth
ESP32
memiliki kemampuan untuk terhubung ke jaringan Wi-Fi dan Bluetooth.
ESP32 dapat dengan mudah terhubung ke jaringan nirkabel karena didukung
oleh WiFi 802.11 b/g/n. Selain itu, ESP32 juga mendukung Bluetooth 4.2,
seperti Bluetooth Low Energy (BLE) yang cocok untuk aplikasi IoT
(Internet og Things) yang membutuhkan konsumsi daya rendah.
2. Prosesor Ganda
ESP32 dilengkapi dua inti prosesor Tensilica LX6 dengan kecepatan clock yang dapat berjalan hingga 240 MHz. Prosesor ganda ini memungkinkan multitasking yang lebih efisien dan penanganan tugas-tugas kompleks dengan lebih baik. Pengembang dapat memanfaatkan prosesor ganda ini untuk menjalankan tugas-tugas yang berbeda secara paralel dan meningkatkan kinerja keseluruhan sistem.
3. GPIO yang Fleksibel
ESP32 memiliki 36 pin GPIO (General Purpose Input/Output) yang dapat digunakan untuk berbagai keperluan. Pin-pin tersebut dapat dikonfigurasi sebagai input, output, atau bahkan sebagai pin khusus untuk fungsi tertentu seperti ADC (Analog to Digital Converter) atau PWM (Pulse Width Modulation). Fleksibilitas ini memungkinkan pengembang untuk menghubungkan berbagai sensor, aktuator dan periferal lainnya dengan mudah.
4. Fitur Keamanan yang Kuat
Keamanan
dalam pengembangan perangkat yang terhubung ke internet sangatlah
penting. Oleh karena itu, ESP32 dilengkapi dengan berbagai fitur
keamanan seperti enkripsi
perangkat keras, boot aman dan pengelolaan kunci enkripsi. Fitur-fitur
keamanan ini dapat membantu untuk melindungi data dan memastikan
integritas perangkat dari serangan yang berbahaya.
5. Dukungan untuk Berbagai Antarmuka Periferal
ESP32 mendukung berbagai antarmuka periferal seperti SPI, I2C, I2S, UART, ADC, DAC dan PWM. Dukungan ini memungkinkan pengembang untuk menghubungkan berbagai jenis perangkat dan modul tambahan, sehingga ESP32 sangat serbaguna dan dapat digunakan dalam berbagai aplikasi.
Aplikasi Praktis Mikrokontroler ESP32
1. Internet of Things (IoT)
ESP32
sangat populer dalam
pengembangan perangkat IoT. ESP32 dapat digunakan untuk menghubungkan
berbagai sensor dan aktuator ke internet dengan bantuan konektivitas
Wi-Fi dan Bluetooth sehingga memungkinkan pengawasan dan pengendalian
jarak jauh. Aplikasi IoT yang sering digunakan dalam kehidupan
sehari-hari adalah sistem rumah pintar, pemantauan lingkungan dan
manajemen energi.
2. Otomasi Rumah
ESP32
dapat digunakan untuk mengendalikan berbagai perangkat rumah tangga
seperti
lampu, kunci pintu dan sistem pemanas. Pengguna dapat menghubungkan
ESP32 ke jaringan Wi-Fi untuk mengontrol perangkat-perangkat tersebut
melalui smartphone atau komputer, sehingga meningkatkan kenyamanan dan
efisiensi energi.
3. Proyek DIY dan Hobi
ESP32
sangat populer di
kalangan penggemar elektronik dan hobiis. Harga yang terjangkau dan
dokumentasi yang luas menjadikan ESP32 sebagai pilihan utama untuk
berbagai proyek DIY (Do It Yourself). Contoh proyek DIY dengan ESP32
yaitu pembuatan sistem cuaca, sistem irigasi otomatis dan robotik.
4. Aplikasi Industri
ESP32 digunakan dalam berbagai aplikasi seperti pengendalian mesin, pemantauan kondisi dan sistem otomatisasi. Kemampuan ESP32 untuk menangani tugas-tugas yang kompleks dan konektivitas nirkabel membuatnya cocok untuk aplikasi industri yang membutuhkan keandalan dan kinerja tinggi.
Pengembangan Mikrokontroler ESP32
1. Platform Arduino
Arduino adalah platform pengembangan yang sangat populer di kalangan pengembang mikrokontroler. ESP32 dapat diprogram menggunakan Arduino IDE dengan menambahkan dukungan untuk papan ESP32. Platform ini menyediakan berbagai library dan contoh kode program yang memudahkan pengembangan aplikasi dengan ESP32.
2. Platform ESP-IDF
ESP-IDF (Espressif IoT Development Framework) adalah lingkungan pengembangan resmi dari Espressif Systems untuk ESP32. ESP-IDF menyediakan serangkaian alat, library dan dokumentasi yang lengkap untuk mengembangkan aplikasi dengan ESP32. Pengembang yang membutuhkan kontrol lebih komprehensif dan fitur-fitur canggih biasanya menggunakan ESP-IDF.
3. Platform MicroPython
MicroPython adalah implementasi bahasa pemrograman Python untuk mikrokontroler. ESP32 dapat diprogram menggunakan MicroPython, dimana platform ini memberikan kemudahan dalam menulis kode program dengan sintaks yang sederhana dan mudah dipahami. Platform ini cocok untuk pengembang yang lebih terbiasa dengan Python dan ingin mengembangkan aplikasi dengan cepat.
4. Platform FreeRTOS
FreeRTOS adalah sistem operasi real-time yang ringan dan banyak digunakan pada mikrokontroler. ESP32 mendukung FreeRTOS, memungkinkan pengembang untuk menjalankan tugas-tugas real-time dengan prioritas yang berbeda. FreeRTOS cocok untuk aplikasi yang membutuhkan respons cepat dan penjadwalan tugas yang efisien.
Kelebihan Mikrokontroler ESP32
1. Konektivitas yang Kuat
ESP32 mendukung Wi-Fi 802.11 b/g/n dan Bluetooth 4.2 (termasuk BLE), memungkinkan konektivitas nirkabel yang luas untuk berbagai aplikasi IoT, otomasi rumah dan perangkat terhubung lainnya. Dukungan dual-mode Bluetooth seperti Classic Bluetooth dan BLE memungkinkan berbagai jenis koneksi.
2. Prosesor Ganda
Pada
ESP32 terdapat dua
inti prosesor Tensilica LX6 yang dapat berjalan hingga 240 MHz. Prosesor
ganda ini memungkinkan untuk melakukan beberapa tugas atau proses
secara bersamaan dengan lebih efisien dan penanganan tugas-tugas yang
lebih
kompleks, seperti pemrosesan data sensor pada saat mengelola
konektivitas nirkabel.
3. GPIO yang Fleksibel
ESP32 memiliki 36 pin GPIO yang dapat dikonfigurasi sebagai input, output atau digunakan untuk fungsi khusus seperti ADC, PWM atau DAC. Hal ini memberikan fleksibilitas yang besar dalam menghubungkan berbagai perangkat eksternal.
4. Dukungan untuk Berbagai Antarmuka Periferal
ESP32 mendukung SPI, I2C, I2S, UART dan lain-lain sehingga cocok untuk berbagai aplikasi yang memerlukan komunikasi dengan sensor, aktuator dan modul tambahan.
5. Fitur Keamanan yang Canggih
ESP32 dilengkapi dengan fitur keamanan seperti enkripsi perangkat keras, secure boot dan pengelolaan kunci enkripsi yang sangat penting dalam perlindungan data untuk aplikasi IoT.
6. Efisiensi Energi
ESP32 memiliki mode daya rendah yang dapat digunakan untuk menghemat energi, sehingga cocok untuk aplikasi yang menggunakan baterai atau yang membutuhkan operasi hemat energi.
7. Komunitas dan Dokumentasi yang Luas
ESP32 memudahkan pengembangan proyek karena memiliki komunitas pengembang yang luas dengan banyaknya sumber daya, tutorial dan library yang tersedia secara online.
8. Harga Terjangkau
ESP32 menawarkan kinerja dan fitur yang tinggi dengan harga yang relatif rendah.
Kekurangan Mikrokontroler ESP32
1. Konsumsi Daya yang Lebih Tinggi
Konsumsi daya ESP32 saat beroperasi penuh relatif tinggi dibandingkan dengan beberapa mikrokontroler lain, terutama ketika fitur Wi-Fi dan Bluetooth diaktifkan. Hal ini dapat menjadi masalah untuk aplikasi yang sangat bergantung pada baterai.
2. Kompleksitas Pengembangan
ESP32 memiliki banyak fitur dan konfigurasi yang cukup kompleks untuk dipelajari bagi pemula. Pengembang harus memahami berbagai aspek teknis seperti manajemen daya, konektivitas dan pengaturan GPIO.
3. Masalah dengan Panas
ESP32 dapat menghasilkan panas berlebih ketika digunakan pada beban tinggi atau dalam lingkungan yang panas, sehingga dapat mempengaruhi kinerja dan masa pakai perangkat.
4. Keterbatasan pada Dukungan Perangkat Lunak
ESP32 mendukung banyak platform pengembangan seperti Arduino IDE dan ESP-IDF, namun beberapa pengembang mungkin menemukan bahwa dukungan library atau perangkat lunak yang tersedia ada yang memerlukan konfigurasi tambahan.
5. Ukuran Fisik yang Lebih Besar
ESP32 memiliki ukuran yang lebih besar, sehingga ada kemungkinan tidak cocok untuk semua aplikasi dengan ruang terbatas.
6. Kompatibilitas dengan Periferal Tertentu
Beberapa pengembang melaporkan masalah kompatibilitas saat menghubungkan ESP32 dengan perangkat periferal tertentu, terutama yang memerlukan waktu respon sangat cepat atau spesifikasi komunikasi yang sangat spesifik.
Baca juga : Arduino Nano vs Arduino Micro: Mana yang Lebih Baik?
RASPBERRY PI PICO
Raspberry Pi Pico adalah mikrokontroler yang dirilis oleh Raspberry Pi Foundation pada Januari 2021. Raspberry Pi Pico berupa mikrokontroler kecil dan kuat yang dirancang untuk aplikasi embedded system. Mikrokontroler ini dilengkapi dengan chip RP2040, menawarkan berbagai fitur yang cocok untuk berbagai proyek elektronik.
Spesifikasi dan Fitur Utama
1. Prosesor dual-core ARM Cortex-M0+ berkecepatan hingga 133 MHz.
2. Memori 264KB RAM.
3. Penyimpanan 2MB QSPI flash onboard.
4. 26 pin GPIO multifungsi, termasuk pin PWM, ADC dan I2C.
5. Tidak memiliki konektivitas nirkabel bawaan, tetapi dapat ditambahkan melalui modul eksternal.
6. Dilengkapi dengan 2 UART, 2 SPI dan 2 I2C serta 16 channel PWM dan 3 ADC 12-bit.
7. Jam internal yang tertanam di chip.
Chip RP2040
Chip RP2040 adalah jantung dari Raspberry Pi Pico. Chip ini adalah mikrokontroler dual-core ARM Cortex-M0+ yang berjalan pada frekuensi hingga 133 MHz. Chip RP2040 cukup kuat untuk menjalankan berbagai aplikasi embedded dengan 264KB RAM onboard. Selain itu, chip ini mendukung USB 1.1 dan dapat digunakan sebagai perangkat host atau perangkat USB.
GPIO (General Purpose Input/Output)
Raspberry Pi Pico memiliki 26 pin GPIO yang dapat digunakan untuk berbagai aplikasi. Pin ini dapat diprogram untuk berfungsi sebagai input atau output digital, serta mendukung berbagai fungsi khusus seperti PWM (Pulse Width Modulation), ADC (Analog to Digital Converter) dan komunikasi serial seperti UART, SPI, dan I2C.
Model Raspberry Pi Pico 1
Model-model dengan akhiran H
memiliki pin header yang sudah terpasang pada header GPIO. Model-model yang
tidak memiliki akhiran H tidak dilengkapi dengan pin header yang terpasang pada
header GPIO. Pengguna harus menyolder pin secara manual atau memasang kit pin
dari pihak ketiga. Berikut ini beberapa model Raspberry Pi Pico yang perlu Anda ketahui :
1. Raspberry Pi Pico H
• Chip RP2040
• Memori 264KB
• Penyimpanan 2MB
• 40 pin GPIO header (unpopulated)
• Tidak memiliki konektivitas nikabel
2. Raspberry Pi Pico W
• Chip RP2040
• Memori 264KB
• Penyimpanan 2MB
• 40 pin GPIO header (unpopulated)
• Konektivitas 2.4 GHz single-band 802.11n Wi-Fi (10Mb/s) dan Bluetooth 5.2, Bluetooth Low Energy (BLE)
3. Raspberry Pi Pico WH
• Chip RP2040
• Memori 264KB
• Penyimpanan 2MB
• 40 pin GPIO header
• Konektivitas 2.4 GHz single-band 802.11n Wi-Fi (10Mb/s) dan Bluetooth 5.2, Bluetooth Low Energy (BLE)
Varian Raspberry Pi Pico 2
Raspberry Pi Pico 2 terdiri dari dua papan, yaitu Raspberry Pi Pico 2 dan Raspberry Pi Pico dengan header. Berikut ini penjelasan tentang vaarian dari Raspberry Pi Pico 2 :
Raspberry Pi Pico 2 dan Raspberry Pi Pico dengan Header
Raspberry Pi Pico 2 adalah papan mikrokontroler berbiaya rendah dan berkinerja tinggi dengan antarmuka digital yang fleksibel. Berikut ini fitur-fitur utama yang dimiliki oleh Raspberry Pi Pico 2 dan Raspberry Pi Pico dengan header.
• Chip mikrokontroler RP2350 yang dirancang oleh Raspberry Pi di Inggris Raya
• Prosesor Cortex-M33 atau Hazard3 ganda hingga 150MHz
• 520KB SRAM, dan 4MB memori flash on-board
• USB 1.1 dengan dukungan perangkat dan host
• Mode tidur dan dorman berdaya rendah
• Pemrograman drag-and-drop menggunakan penyimpanan massal melalui USB
• 26 pin GPIO multifungsi termasuk 3 yang dapat digunakan untuk ADC
• 2× SPI, 2× I2C, 2× UART, 3× Konverter Analog ke Digital (ADC) 12-bit 500ksps, 24× saluran PWM yang dapat dikontrol
• 2× Timer dengan 4 alarm, 1× Timer AON
• Sensor suhu
• 3 × blok IO yang dapat diprogram (PIO), total 12 mesin status untuk dukungan periferal khusus
a. IO berkecepatan tinggi yang fleksibel dan dapat diprogram pengguna
b. Dapat meniru antarmuka seperti Kartu SD dan VGA
Raspberry Pi Pico 2 hadir sebagai modul berbenteng yang memungkinkan penyolderan langsung ke papan pembawa, sedangkan Pico 2 dengan header hadir dengan header yang sudah disolder sebelumnya. Kedua papan memiliki header Serial Wire Debug (SWD) tiga pin. Namun, Pico 2 dengan header membaginya menjadi konektor 3 pin kecil yang diberi kunci, sedangkan Pico memiliki tiga pin berlubang berbenteng yang berdekatan dengan tepi papan.
Pinout Raspberry Pi Pico 2
Pemrograman Raspberry Pi Pico
Raspberry Pi Pico dapat diprogram menggunakan berbagai bahasa pemrograman, tetapi yang paling populer adalah MicroPython dan C/C++. Berikut ini panduan singkat untuk memulai dengan kedua bahasa tersebut.
MicroPython
MicroPython adalah implementasi ringan dari bahasa pemrograman Python yang ditujukan untuk mikrokontroler. Raspberry Pi Pico mendukung MicroPython secara native, sehingga memudahkan pemrogram untuk mulai mengembangkan proyek.
Langkah-langkah Memulai dengan MicroPython
1. Unduh Firmware MicroPython
Firmware MicroPython dapat diunduh dari situs resmi Raspberry Pi.
2. Unggah Firmware ke Pico
Hubungkan Raspberry Pi Pico ke komputer dan unggah firmware dengan menyeret dan melepaskannya ke drive Pico.
3. Instal Thonny IDE
Thonny adalah IDE yang mendukung MicroPython dan sangat mudah digunakan. Thonny IDE dapat diunduh dan diinstal dari situs resmi Thonny.
4. Menulis Kode
Buka Thonny, pilih Raspberry Pi Pico sebagai target dan mulai menulis kode MicroPython.
Contoh Kode MicroPython
from machine import Pin
import time
led = Pin(25, Pin.OUT)
while True:
led.toggle()
time.sleep(1)
Kode di atas akan menghidupkan dan mematikan LED onboard pada Raspberry Pi Pico setiap detik.
C/C++
Pemrograman dengan C/C++ memberikan kontrol yang lebih besar dan memungkinkan optimisasi yang lebih baik untuk aplikasi yang memerlukan kinerja tinggi.
Langkah-langkah Memulai dengan C/C++
1. Siapkan lingkungan pemrograman. Raspberry Pi Foundation menyediakan toolchain berbasis GCC dan SDK untuk pengembangan C/C++. Dokumentasi lengkap dan panduan instalasi dapat ditemukan di situs resmi Raspberry Pi.
2. Gunakan editor teks favorit Anda untuk menulis kode C/C++ dan kompilasi menggunakan toolchain yang telah diinstal.
3. Gunakan alat seperti OpenOCD untuk mengunggah dan menjalankan kode pada Raspberry Pi Pico.
Contoh Kode C/C++
#include "pico/stdlib.h"
int main() {
const uint LED_PIN = 25;
gpio_init(LED_PIN);
gpio_set_dir(LED_PIN, GPIO_OUT);
while (true) {
gpio_put(LED_PIN, 1);
sleep_ms(1000);
gpio_put(LED_PIN, 0);
sleep_ms(1000);
}
}
Kode di atas akan menghidupkan dan mematikan LED onboard setiap detik, hampir sama dengan contoh MicroPython sebelumnya.
Proyek - proyek dengan Raspberry Pi Pico
Pengontrol Lampu Otomatis
Anda dapat menggunakan Raspberry Pi Pico untuk membuat pengontrol lampu otomatis yang dapat mendeteksi cahaya dan menyalakan atau mematikan lampu sesuai kebutuhan. Proyek ini dapat diwujudkan dengan mudah menggunakan sensor cahaya seperti LDR (Light Dependent Resistor) dan relay.
Robotik
Raspberry Pi Pico dapat digunakan dalam proyek robotik. Anda dapat membuat robot sederhana yang dapat dikendalikan melalui Bluetooth atau Wi-Fi dengan menambahkan modul komunikasi nirkabel eksternal. Motor servo dan motor DC dapat dikendalikan menggunakan PWM dari pin GPIO.
Sistem Monitoring Suhu
Raspberry Pi Pico dapat digunakan untuk memonitor suhu lingkungan
dan menampilkan data pada layar LCD atau mengirimkan data ke server melalui
Wi-Fi dengan menggunakan sensor suhu DHT11 atau DS18B20.
Alarm Keamanan
Proyek alarm keamanan dapat diwujudkan dengan Raspberry Pi Pico. Anda dapat membuat sistem alarm yang akan mengirimkan notifikasi jika ada pergerakan di area yang dipantau menggunakan sensor gerak seperti sensor PIR (Passive Infrared Sensor).
Kelebihan Raspberry Pi Pico
1. Raspberry Pi
Pico dijual dengan harga yang sangat terjangkau, sehingga cocok untuk proyek
DIY dan pendidikan.
2. Pico menawarkan kinerja yang cukup untuk banyak
aplikasi embedded dengan prosesor dual-core dan RAM 264KB.
3. Raspberry Pi memiliki komunitas besar yang aktif. Artinya, banyak sumber daya dan bantuan yang tersedia.
4. Arsitektur ARM Cortex-M0+ efisien dalam hal konsumsi daya dan cocok untuk aplikasi dengan kebutuhan daya rendah.
5. Raspberry Pi Pico lebih hemat daya dan memiliki arsitektur yang lebih sederhana.
6. Cocok untuk proyek yang tidak memerlukan performa tinggi.
Kekurangan Raspberry Pi Pico
1. Pico tidak memiliki konektivitas Wi-Fi atau Bluetooth bawaan, sehingga memerlukan modul eksternal untuk aplikasi yang memerlukan komunikasi nirkabel.
2. Hanya memiliki memori RAM sebesar 264KB yang mungkin tidak cukup untuk aplikasi yang memerlukan memori besar.
3. Raspberry Pi Pico kurang cocok untuk aplikasi IoT yang membutuhkan konektivitas nirkabel secara langsung.
Baca juga : Perbandingan Arduino Due dan Arduino Zero: Mana yang Tepat untuk Proyek Anda?
Siap Untuk Membuat Proyek Impianmu Menjadi Kenyataan?
Klik di sini untuk chat langsung via WhatsApp dan dapatkan dukungan langsung dari tim ahli kami!
0 on: "Perbandingan Mikrokontroler ESP32 Vs Raspberry Pi Pico "