Ep 1 : Get to Know with ESP32 (LED Blink)

Bonaventura Bagas Sukarno
5 min readFeb 1, 2021

--

Pada masa kini, teknologi menjadi suatu kebutuhan yang semakin berkembang. Salah indikator kemajuan teknologi adalah ukuran device semakin kecil dan harga yang semakin murah.

ESP32 adalah salah satu jenis microcontroller yang berukuran kecil dengan harga yang terjangkau, namun cukup powerful. Microcontroller ini sudah ditenagai oleh dual-core processor 32 bit serta dilengkapi dengan wireless communication seperti Bluetooth dan Wi-Fi. Pada projek ini akan ditampilkan bagaimana konfigurasi awal, setup, hingga compile basic program (blink) pada ESP32.

DOIT ESP32 DevKit (www.electronics-lab.com)

Things used in this project

  1. ESP32 — DevKitC
  2. Kabel USB micro-B
  3. BreadBoard
  4. Laptop

Note :

  • Breadboard digunakan untuk meletakkan ESP32 untuk menghindari terjadinya short circuit pada perangkat.
  • Dapat juga digunakan berbagai tipe ESP32 lainnya.

Schematic

Diagram Skema Projek LED Blink

Jika semua komponen sudah ready, maka kita dapat mulai menyusun perangkat. Assembling projek ini bisa dibilang mudah, cukup pasangkan ESP32 pada breadboard. Lalu hubungkan ESP32 dengan laptop menggunakan kabel USB micro-B. Hal ini bertujuan agar program dapat di-upload ke ESP32.

Configuration & Setup IDE ESP32

What you have to do

Download dan install Arduino IDE.

Link: https://www.arduino.cc/en/software/

Configuration IDE

  1. Buka Arduino IDE
  2. Pilih File > Preferences

3. Copas https://dl.espressif.com/dl/package_esp32_index.json pada kolom Additional Board Manager URLs. Lalu klik OK

4. Pilih Tools > Board > Boards Manager

5. Masukkan esp32 pada kolom pencarian. Maka akan muncul esp32 by Espressif Systems. Pilih versi yang akan diinstal, disarankan latest version, lalu klik install. Tunggu hingga proses install selesai.

6. Jika proses install sudah selesai, pilih Tools > Board > ESP32 Arduino > DOIT ESP32 DevKit (sesuaikan dengan tipe ESP32 masing-masing)

Testing

  1. Sambungkan kabel USB micro-B antara ESP32 dengan laptop.
  2. Pilih Tools > Port > pilih port COM yang tersedia. Bila port COM tidak muncul, diharuskan untuk menginstal UART protocol terlebih dulu. Link : https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

3. Pilih File > Examples > 01.Basics > Blink

4. Program Blink akan muncul ke layar. Klik tombol Verify, lalu Upload pada Arduino IDE untuk menjalankan program. Tunggu beberapa saat hingga bar hijau penuh.

5. Pastikan muncul pesan Done uploading serta LED ESP32 berkedip.

Program

Berikut adalah code final yang digunakan dalam projek ini setelah sedikit dimodifikasi. Pada prosedur void setup() terdapat code :

pinMode(LED_BUILTIN, OUTPUT);

Baris code tersebut berguna untuk menginisialisasi dan mengeset LED_BUILTIN sebagai OUTPUT. Sedangkan pada prosedur void loop() terdapat :

digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(500);

Code ini digunakan untuk menghidupkan dan mematikan LED. Saat dialari dengan voltase tinggi (HIGH), maka LED akan menyala. Ketika voltase LED diturunkan (LOW), maka LED akan mati.

Kemudian, fungsi delay berjalan untuk mempertahankan state dari fungsi sebelumnya atau dapat dikatakan juga durasi blink LED bergantung pada fungsi delay (dalam satuan milisekon). Pada code yang dimodifikasi, LED akan menyala selama 1 sekon, kemudian mati selama 0,5 sekon, dst. Jadi feel free to change delay number sesuai dengan keinginan 😃.

Result

Well, code yang di-upload pada ESP32 berhasil berjalan sesuai dengan spesifikasi code dan tujuan projek.

Kondisi saat LED mati
Kondisi saat LED menyala
LED Blink

LED akan menyala dalam waktu 1 detik, kemudian mati selama 0,5 detik. Hal ini akan berjalan terus menerus (loop) hingga dijalankan program lainnya. Pada projek ini, saya tidak menemukan kendala yang cukup berarti, hanya pada pertama kali upload muncul pesan :

“A fatal error occurred: Failed to connect to ESP32: Timed out… Connecting…”

Namun, permasalahan ini sudah teratasi dan akan dijelaskan pada bagian Addition

Cukup mudah bukan? Well, jika belum berhasil, feel free to discuss about this project. Just drop it in the comment section below!

Addition

Jika muncul pesan setelah upload program pada Arduino IDE

“A fatal error occurred: Failed to connect to ESP32: Timed out… Connecting…”

maka, ESP32 belum berada dalam uploading mode. Tampaknya hal ini wajar, karena pada beberapa ESP32 yang digunakan(termasuk milik saya) juga mengalami hal ini.

Issue ini dapat diatasi dengan beberapa step:

  1. Tekan dan tahan tombol BOOT pada ESP32
  2. Upload kembali code pada Arduino IDE
  3. Ketika muncul pesan “Connecting”, lepaskan jari dari tombol BOOT
  4. Dalam beberapa saat, periksalah apakah code sudah berhasil di-upload

Untuk mengaktifkan uploading mode ESP32 pada tahap berikutnya, cukup tekan tombol ENABLE pada ESP32 sebelum upload code lainnya.

Secara general, kita tetap harus melakukan step 1–4 setiap kali menggunakan ESP32 dari posisi mati.

Thanks for reading

See you on another ep! 😄

--

--