Pada artikel ini, Arduino Indonesia akan membahas tentang cara memulai dengan firmware MicroPython pada ESP32 dan ESP8266. Kami akan memperkenalkan MicroPython, menunjukkan perbedaan antara MicroPython dan Python biasa, serta cara memprogram papan berbasis ESP Anda dengan MicroPython menggunakan uPyCraft IDE. Setelah menyelesaikan panduan ini, Anda akan membuat LED pertama Anda berkedip menggunakan MicroPython.
Apa itu MicroPython?
MicroPython adalah implementasi ulang dari Python 3 yang ditargetkan untuk mikrokontroler dan sistem tertanam. MicroPython sangat mirip dengan Python biasa. Jadi, jika Anda sudah tahu cara memprogram di Python, Anda juga tahu cara memprogram di MicroPython.
Python vs MicroPython
Kecuali beberapa pengecualian, fitur bahasa Python juga tersedia di MicroPython. Perbedaan terbesar antara Python dan MicroPython adalah bahwa MicroPython dirancang untuk bekerja dalam kondisi terbatas (constrained).
Karena itu, MicroPython tidak dilengkapi dengan library standar penuh. Ia hanya mencakup sebagian kecil dari library standar Python. Namun, ia menyertakan modul untuk mengakses perangkat keras tingkat rendah – artinya, ada library untuk mengakses dan berinteraksi dengan GPIO dengan mudah.
Selain itu, perangkat dengan kemampuan Wi-Fi seperti ESP8266 dan ESP32 menyertakan modul untuk mendukung koneksi jaringan.
Mengapa MicroPython?
Python adalah salah satu bahasa pemrograman yang paling banyak digunakan, sederhana, dan mudah dipelajari di dunia. Jadi, kemunculan MicroPython membuat pemrograman elektronik digital menjadi sangat mudah dan sederhana. Jika Anda belum pernah memprogram elektronik digital sebelumnya, MicroPython adalah titik awal yang baik.
Tujuan MicroPython adalah membuat pemrograman elektronik digital sesederhana mungkin, sehingga dapat digunakan oleh siapa saja. Saat ini, MicroPython digunakan oleh penghobi, peneliti, guru, pendidik, dan bahkan dalam produk komersial. Kode untuk membuat LED berkedip di ESP32 atau ESP8266 sesederhana berikut:
from machine import Pin
from time import sleep
led = Pin(2, Pin.OUT)
while True:
led.value(not led.value())
sleep(0.5)
Salah satu fitur hebat MicroPython adalah ia dilengkapi dengan REPL interaktif (Read-Evaluate-Print Loop). REPL memungkinkan Anda terhubung ke papan dan mengeksekusi kode dengan cepat tanpa perlu mengompilasi atau mengunggah kode.
MicroPython – Dukungan Papan
MicroPython berjalan di berbagai perangkat dan papan, seperti:
- ESP32
- ESP8266
- PyBoard
- Micro:Bit
- Teensy 3.X
- WiPy – Pycom
- Adafruit Circuit Playground Express
- Papan berbasis ESP32/ESP8266 lainnya
Dalam proyek kami, kami akan menggunakan MicroPython dengan papan ESP32 dan ESP8266.
ESP32 adalah penerus ESP8266. Jadi, saat ini, belum semua fitur tersedia di MicroPython untuk memanfaatkan ESP32 sepenuhnya – ini masih proyek yang sedang berjalan. Namun, ia sangat dapat digunakan dan Anda dapat membuat banyak proyek dengannya.
Papan ESP32 dan ESP8266 serupa, dan Anda hampir tidak akan merasakan perbedaan saat memprogramnya menggunakan MicroPython. Artinya, apa pun yang Anda tulis untuk ESP8266 seharusnya juga berjalan tanpa perubahan atau dengan perubahan minimal di ESP32 (terutama mengubah penugasan pin).
Baca juga: Panduan Lengkap MicroPython ESP32 dan ESP8266: Penggunaan GPIO
Menginstal uPyCraft IDE
Sebelum melanjutkan tutorial ini, Anda harus menginstal uPyCraft IDE di komputer Anda. Ikuti salah satu tutorial berikut untuk menginstal uPyCraft IDE:
- Instal uPyCraft IDE – Windows PC
- Instal uPyCraft IDE – Mac OS X
- Instal uPyCraft IDE – Linux Ubuntu
Memasang Firmware MicroPython ke ESP32/ESP8266
Tidak seperti papan lainnya, MicroPython tidak terpasang secara default pada ESP32 atau ESP8266. Itulah hal pertama yang perlu Anda lakukan untuk mulai memprogram papan Anda dengan MicroPython, yaitu pasang/unggah firmware.
Memulai dengan uPyCraft IDE
Pada bagian ini, kami akan memberikan gambaran umum tentang perangkat lunak uPyCraft IDE, sehingga Anda dapat mulai memprogram ESP32/ESP8266 dengan MicroPython.
IDE adalah perangkat lunak yang berisi alat untuk membuat proses pengembangan, debugging, dan pengunggahan kode lebih mudah. Ada banyak cara untuk memprogram papan ESP Anda dengan MicroPython. Kami memilih uPyCraft IDE karena sederhana, intuitif, dan bekerja sangat baik dengan papan ESP.
Pada titik ini, kami berasumsi Anda telah memiliki:
- uPyCraft IDE terinstal di komputer Anda
- ESP32/ESP8266 yang telah dipasang firmware MicroPython
Gambaran uPyCraft IDE
Buka uPyCraft IDE, jendela baru akan terbuka seperti berikut:
Mari kita lihat lebih dekat setiap bagian dari uPyCraft IDE:
Folder dan File
Bagian ini menunjukkan beberapa folder dan file. Folder device menunjukkan file yang saat ini tersimpan di papan ESP Anda. Jika ESP32 atau ESP8266 Anda terhubung melalui serial ke uPyCraft IDE, saat Anda memperluas folder device, semua file yang tersimpan akan dimuat. Secara default, Anda seharusnya hanya memiliki file boot.py. Untuk menjalankan kode utama Anda, disarankan untuk membuat file main.py.
- boot.py: Berjalan saat perangkat mulai dan mengatur beberapa opsi konfigurasi.
- main.py: Ini adalah skrip utama yang berisi kode Anda. Dieksekusi segera setelah boot.py.
Folder sd dimaksudkan untuk mengakses file yang tersimpan di kartu SD – ini hanya berfungsi dengan papan seperti PyBoard yang dilengkapi slot kartu SD.
uPy_lib menunjukkan file library bawaan IDE.
Terakhir, workspace adalah direktori untuk menyimpan file Anda. File-file ini disimpan di komputer Anda dalam direktori yang Anda tentukan. Ini sangat berguna untuk menjaga semua file Anda tetap terorganisir dan mudah diakses.
Saat menggunakan uPycraft untuk pertama kalinya, untuk memilih direktori kerja Anda, klik folder workspace. Jendela baru akan muncul untuk memilih jalur workspace. Buat folder baru atau pilih folder yang sudah ada sebagai direktori kerja Anda.
Kemudian, buka File > Reflush Directory untuk memperbarui direktori.
Catatan: Untuk mengubah direktori pengguna Anda, cukup buka Tools > InitConfig dan klik folder direktori workspace untuk memilih jalur yang berbeda.
Editor
Bagian Editor adalah tempat Anda menulis kode dan mengedit file .py Anda. Anda dapat membuka lebih dari satu file, dan Editor akan membuka tab baru untuk setiap file.
Shell/Terminal MicroPython
Di Shell MicroPython, Anda dapat mengetik perintah untuk segera dieksekusi oleh papan ESP Anda tanpa perlu mengunggah file baru. Terminal juga memberikan informasi tentang status program yang sedang berjalan, menunjukkan error terkait pengunggahan, error sintaks, mencetak pesan, dll.
Alat (Tools)
Ikon yang ditempatkan di sisi paling kanan memungkinkan Anda dengan cepat melakukan tugas. Setiap tombol diberi label pada gambar di bawah ini:
- New file: Membuat file baru di Editor.
- Open file: Membuka file dari komputer Anda.
- Save file: Menyimpan sebuah file.
- Download and run: Mengunggah kode ke papan Anda dan menjalankan kodenya.
- Stop: Menghentikan eksekusi kode – sama dengan mengetik CTRL+C di Shell untuk menghentikan semua skrip yang berjalan.
- Connect/Disconnect: Menghubungkan atau memutuskan sambungan ke papan Anda melalui Serial. Anda harus memilih port serial terlebih dahulu di Tools > Serial.
- Undo: Membatalkan perubahan terakhir di Editor kode.
- Redo: Mengulangi perubahan terakhir di Editor kode.
- Syntax check: Memeriksa sintaks kode Anda.
- Clear: Menghapus pesan di jendela Shell/terminal.
Menjalankan Skrip Pertama Anda
Untuk membiasakan Anda dengan proses menulis file dan mengeksekusi kode di papan ESP32/ESP8266, kami akan mengunggah skrip baru yang hanya membuat LED onboard ESP32 atau ESP8266 Anda berkedip.
Membuat Komunikasi dengan Papan
Setelah firmware MicroPython terinstal di papan Anda dan papan terhubung ke komputer melalui kabel USB, ikuti langkah-langkah berikut:
1. Buka Tools > Board dan pilih papan yang Anda gunakan.
2. Buka Tools > Port dan pilih port COM tempat ESP Anda terhubung.
3. Tekan tombol Connect untuk membuat komunikasi serial dengan papan Anda.
4. Tanda >>> akan muncul di jendela Shell setelah koneksi berhasil dengan papan Anda. Anda dapat mengetik perintah print untuk menguji apakah berfungsi:
>>> print('Hello')
Hello
>>>
Ini akan mencetak pesan "Hello". Hanya jika Anda melihat pesan itu, Anda dapat melanjutkan tutorial ini. Jika tidak, pastikan Anda telah membuat komunikasi serial dengan papan Anda atau bahwa Anda telah berhasil memasang firmware MicroPython di papan Anda.
Membuat File main.py di Papan Anda
1. Tekan tombol "New file" untuk membuat file baru.
2. Tekan tombol "Save file" untuk menyimpan file di komputer Anda.
3. Jendela baru terbuka, beri nama file Anda main.py dan simpan di komputer Anda.
4. Setelah itu, Anda akan melihat tampilan berikut di uPyCraft IDE (file boot.py di perangkat Anda dan tab baru dengan file main.py).
5. Klik tombol "Download and run" untuk mengunggah file ke papan ESP Anda.
6. Direktori perangkat sekarang akan memuat file main.py. Papan ESP Anda telah menyimpan file main.py.
Mengunggah Skrip LED Berkedip
1. Salin kode berikut ke Editor pada file main.py:
from machine import Pin
from time import sleep
led = Pin(2, Pin.OUT)
while True:
led.value(not led.value())
sleep(0.5)
2. Tekan tombol "Stop" untuk menghentikan skrip apa pun yang berjalan di papan Anda.
3. Klik tombol "Download and Run" untuk mengunggah skrip ke ESP32 atau ESP8266.
4. Anda akan melihat pesan "download ok" di jendela Shell.
Menguji Skrip
Untuk menjalankan skrip yang baru saja diunggah ke papan Anda, ikuti langkah-langkah ini:
1. Tekan tombol "Stop".
2. Tekan tombol EN (ENABLE) atau RST (RESET) pada papan ESP32/ESP8266 untuk me-restart papan Anda dan menjalankan skrip dari awal.
Jika Anda menggunakan ESP32, pesan Terminal Anda akan terlihat seperti yang ditunjukkan pada gambar berikut setelah menekan tombol EN/RST:
LED onboard ESP32 atau ESP8266 Anda akan berkedip setiap 500 milidetik. Berikut lokasi LED onboard ESP32:
Dan berikut LED onboard ESP8266:
Tips Pemecahan Masalah
Kami telah menemukan beberapa masalah umum dan pesan error yang terjadi dengan uPyCraft IDE. Biasanya, me-restart ESP Anda dengan tombol EN/RST pada papan akan memperbaiki masalah Anda. Atau menekan tombol "Stop" di uPyCraft IDE dan mengulangi tindakan yang Anda inginkan. Jika itu tidak berhasil untuk Anda, baca error umum berikut ini dan temukan cara menyelesaikannya.
Error #1: Anda mendapatkan pesan berikut:
>>>
Select Serial Port could not open port 'COM4': FileNotFoundError(2, 'The system cannot find the file specified.', None, 2)
Atau pesan yang setara:
>>>
could not open port 'COM4': PermissionError(13, 'A device attached to the system is not functioning.', None, 31)
Cabut, dan pasang kembali papan ESP Anda. Kemudian, periksa kembali bahwa Anda telah memilih port serial yang benar di menu Tools > Serial. Lalu, klik tombol "Connect/disconnect" untuk membuat komunikasi serial. Anda sekarang seharusnya dapat mengunggah skrip baru atau menjalankan ulang kode baru.
Error ini juga mungkin berarti port serial Anda sedang digunakan di program lain (seperti terminal serial atau di Arduino IDE). Periksa kembali bahwa Anda telah menutup semua program yang mungkin membuat komunikasi serial dengan papan ESP Anda. Kemudian, cabut dan pasang kembali papan ESP Anda. Terakhir, restart uPyCraft IDE – coba pilih port serial di menu Tools > Serial.
Error #2: Kesulitan mengunggah skrip baru.
>>>
already in download model,please wait.
Tekan tombol "Stop" di uPyCraft IDE (1 atau 2 kali) untuk memastikan semua kode yang berjalan berhenti. Setelah itu, tekan tombol "Download and run" untuk mengunggah skrip baru ke papan ESP Anda.
Error #3: Setelah mengunggah skrip baru, jika Anda melihat pesan berikut:
>>>
Ready to download this file,please wait!
...
download ok
os.listdir('.')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'os' isn't defined
Atau pesan ini:
>>>
Ready to download this file,please wait!
...
download ok
os.listdir('.')
OSError: [Errno 98
]
Itu berarti file baru telah berhasil diunggah ke papan Anda. Anda dapat perhatikan bahwa ia mencetak pesan "download ok". Tekan tombol "EN/RST" pada papan ESP untuk me-restart papan Anda dan menjalankan ulang skrip baru yang diunggah dari awal.
Error #4: Masalah saat me-restart papan ESP, menjalankan skrip baru, atau membuka port serial:
>>>
Brownout detector was triggered
Pesan error "Brownout detector was triggered" berarti ada masalah perangkat keras. Sering kali terkait dengan salah satu masalah berikut:
- Kabel USB berkualitas buruk;
- Kabel USB terlalu panjang;
- Papan dengan cacat tertentu (bad solder joints);
- Port USB komputer yang buruk;
- Atau daya yang tidak cukup dari port USB komputer.
Solusi: Coba kabel USB lain yang lebih pendek (dengan kabel data), coba port USB komputer lain, atau gunakan hub USB dengan catu daya eksternal.
Penting: Jika Anda terus mengalami masalah konstan atau pesan error aneh, kami sarankan untuk memasang ulang papan ESP Anda dengan versi terbaru firmware MicroPython: Pasang/Unggah Firmware MicroPython ke ESP32 dan ESP8266.
Error #5: Saat saya mencoba membuka komunikasi serial dengan ESP32/ESP8266 di uPyCraft IDE, terkadang muncul jendela "Burn Firmware" yang meminta untuk memasang ulang firmware MicroPython.
Pada dasarnya, kami pikir inilah yang terjadi: saat Anda menjalankan skrip di papan Anda, terkadang papan sibuk menjalankan skrip itu dan melakukan tugas. Jadi, Anda perlu mencoba membuka port COM beberapa kali atau me-restart ESP untuk menangkapnya dalam keadaan tersedia untuk membuat komunikasi serial dengan uPyCraft IDE.
Jika Anda menjalankan skrip yang menggunakan Wi-Fi, deep sleep, atau melakukan banyak tugas, saya sarankan mencoba 3 atau 4 kali untuk membuat komunikasi. Jika tidak bisa, saya sarankan untuk memasang ulang ESP dengan firmware MicroPython.
Baca juga: Panduan Lengkap Dasar Pemrograman MicroPython pada ESP32 dan ESP8266
Siap Belajar & Bangun Proyek IoT?
KLIK GAMBAR DI BAWAH INI UNTUK BELI TRAINER KIT ESP32
![]() |
| Klik gambar untuk pembelian |
Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.
- Diskusi umum dan tanya jawab praktik: https://t.me/edukasielektronika
- Kendala spesifik dan kasus tertentu: http://bit.ly/Chatarduino



























0 on: "Panduan Lengkap Memulai MicroPython pada ESP32 dan ESP8266 untuk Pemula "