Update Firmware NodeMCU ESP8266 menggunakan esptool.py

By | October 15, 2023
980 Views

Update Firmware terkadang perlu dilakukan dikarena sudah out of date atau mengalami kerusakan. Pada NodeMCU bisa secara mudah kita lakukan hal tersebut tentu menggunakan micropython. Bagi pengguna yang masih awam cara install python yaitu ada 2 cara. Pertama, bisa kalian lakukan secara manual satu persatu seperti download Python Installer nya dulu https://www.python.org, lalu setting pathnya agar ketika memanggil python di console bisa terdeteksi serta download get_pip sebagai managemet package di Python baca https://softscients.com/2020/06/18/buku-pemrograman-python-cara-install-modul-di-python/

Cara kedua yaitu Bila tidak ingin repot bisa download all package yaitu miniconda atau anancoda saja seperti yang sudah pernah dijelaskan di buku saya https://softscients.com/2020/03/28/buku-belajar-mudah-python-dengan-package-open-source yang didalamnya sudah ter install pip dan tersetting path nya.

Install esptool

Pengembang/produsen Epsresif mengeluarkan tools berbasis python yaitu esptool.py  sebagai tools untuk update, erase, dan flashing firmare micro controler ESp8266 seperti NodeMCU. Setelah kalian sudah install pip, langkah selanjutnya buka terminal dan ketikan kode berikut untuk install esptool via internet.

pip install esptool

Kita bisa lakukan cek keberadaan port yang aktif ketika NodeMCU terhubung ke kabel USB. Kita bisa cek dulu, port mana yang aktif ketika kita colokan kabel USB dengan perintah flash_id pada terminal/console tentunya kalian sudah lakukan setting path ya!

python -m esptool flash_id

hasilnya yaitu (saya menggunakan macbook) tentu hasilnya beda dengan windows dengan PORT COM nya

Found 3 serial ports
Serial port /dev/cu.wlan-debug
/dev/cu.wlan-debug failed to connect: [Errno 16] could not open port /dev/cu.wlan-debug: [Errno 16] Resource busy: '/dev/cu.wlan-debug'
Serial port /dev/cu.usbserial-0001
Connecting..............
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting........................
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 4c:eb:d6:75:49:9c
Uploading stub...
Running stub...
Stub running...
Manufacturer: 5e
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...

Untuk erase firmware bisa lakukan perintah

python -m esptool --chip esp32 --port /dev/cu.usbserial-0001 erase_flash

Hasilnya tunggu beberapa detik saja

esptool.py v3.2
Serial port /dev/cu.usbserial-0001
Connecting..........
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 4c:eb:d6:75:49:9c
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 12.8s
Hard resetting via RTS pin...

 

See also  Membuat Radio FM dengan Modul Tea5767 berbasis Wifi

Sekarang kita lakukan download firmware nya https://micropython.org/download/esp32/ pilih yang saya kasih tanda

 

ketikan perintah berikut awas jangan lupa sesuaikan lokasi hasil downloadnya ya, misalkan saya letakan di folder Download ~/Downloads/esp32-idf3-20210202-v1.14.bin

 

python -m esptool --chip esp32 --port /dev/cu.usbserial-0001 --baud 460800 write_flash -z 0x1000 ~/Downloads/esp32-idf3-20210202-v1.14.bin

hasilnya

esptool.py v3.2
Serial port /dev/cu.usbserial-0001
Connecting..............
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 4c:eb:d6:75:49:9c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00161fff...
Compressed 1445632 bytes to 925476...
Wrote 1445632 bytes (925476 compressed) at 0x00001000 in 22.8 seconds (effective 507.9 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Hal-hal yang perlu diperhatikan yaitu Update firmware pada modul ESP8266 memiliki beberapa kegunaan penting:

  1. Penambahan Fitur dan Pemperbaikan Bug: Update firmware dapat menghadirkan fitur-fitur baru dan memperbaiki masalah atau bug yang mungkin ada dalam versi firmware sebelumnya. Ini dapat meningkatkan kinerja dan stabilitas perangkat.
  2. Peningkatan Keamanan: Firmware update seringkali mengatasi kerentanan keamanan yang ditemukan pada versi firmware sebelumnya. Dengan melakukan update, Anda dapat memastikan perangkat Anda tetap aman dari serangan potensial.
  3. Peningkatan Kinerja: Update firmware dapat meningkatkan kinerja perangkat, termasuk peningkatan dalam pemrosesan data, konektivitas, atau efisiensi daya. Ini dapat bermanfaat dalam aplikasi yang memerlukan respons cepat atau penggunaan daya yang lebih efisien.
  4. Kompabilitas: Update firmware dapat memperbaiki masalah kompatibilitas dengan perangkat lain atau perangkat lunak yang digunakan bersama ESP8266. Ini bisa membantu perangkat Anda bekerja lebih baik dengan perangkat lain di dalam sistem.
  5. Perbaikan Kesalahan (Bug Fixes): Firmware update juga mencakup perbaikan bug yang telah ditemukan dalam versi sebelumnya, yang dapat mengurangi masalah yang mungkin Anda alami dengan perangkat.
  6. Pembaruan Standar Komunikasi: Firmware update dapat membawa perangkat ESP8266 Anda ke standar komunikasi terbaru, yang dapat membantu perangkat bekerja dengan perangkat dan jaringan lain yang telah diperbarui.
  7. Pembaruan Driver: Pembaruan firmware juga dapat termasuk pembaruan driver, yang meningkatkan kompatibilitas perangkat dengan sistem operasi atau lingkungan perangkat keras yang berbeda.
See also  Mengakses Modul OLED LCD 0.91 dengan Protokol I2C: Panduan Praktis

Untuk melakukan update firmware pada ESP8266, Anda harus mengikuti petunjuk dari produsen atau penyedia firmware, dan pastikan untuk membuat cadangan data yang penting sebelum melakukannya, karena pembaruan firmware bisa berisiko jika tidak dilakukan dengan benar.