My #1 Project with ESP32: LED Blink

Frendy Sanusi
5 min readFeb 5, 2023

--

⚠️Untuk setiap minggu dalam 3 bulan ke depan akan terus ada publikasi blog terkait projek ESP32. Jadi, pantau terus yaa!

Blog ini hadir karena ada tugas mingguan dari mata kuliah II2260 Sistem Embedded (kalau gak pasti gak nge-blog✌️). Di mata kuliah ini, kita belajar “sedikit” tentang informatika dan “sedikit” tentang elektro.

By the way, ESP32 itu apa sih? ESP32 adalah sebuah mikrokontroller hemat energi yang dikembangkan oleh Espressif Systems. Singkatnya, ya komputer mini. Di dalamnya juga ada WiFi dan Bluetooth. Menarik kan?

Gambar ESP32 Devkit v1

— What will we do?
Pada projek #1, kita akan membuat “komputer” kita berkedip atau blink.

— Tools
1. ESP32, aku pakai ESP32 DOIT DEVKIT V1
2. Kabel USB (pakai kabel data ya, jangan kabel charger biasa)
3. Arduino IDE (software)
4. Laptop/komputer
5. Pikiran, hati, dan rasa semangat

Steps

Installation
Sudah install Arduino IDE? Kalau sudah, skip aja section ini. Kalau belum, skip juga😈 (canda)

Arduino IDE bisa diinstall melalui link ini (tenang, bukan scamming yang apk WhatsApp kok). Pilih yang sesuai sistem operasi laptopmu ya. Jangan sampai salah!

Tampilan web Arduino IDE

Kalau sudah, kita harus setup dulu Arduino IDE-nya karena pada dasarnya Arduino IDE dibuat untuk Arduino Board. Jadi, kita harus mengintegrasikan ESP32 ke IDE-nya.

  1. Pilih menu File > Preferences pada Arduino IDE.
File > Preferences (Ctrl + ,)

2. Tambahkan package ESP32 dengan memasukkan https://dl.espressif.com/dl/package_esp32_index.json ke Additional Boards Manager URLs. Lalu, klik OK.

Tampilan menu Preferences

3. Pilih Tools > Board > Boards Manager. Lalu, install modul ESP32.

Tools > Board > Boards Manager (Ctrl + Shift + B)
Install modul ESP32

4. Pilih DOIT ESP32 DEVKIT V1 pada Tools > Board > ESP32.

Tools > Board > ESP32 > DOIT ESP32 DEVKIT V1

5. Pilih port sesuai dengan ESP32-mu. Jika belum ada, gws __/\__ karena ESP32 menggunakan komunikasi UART. Tenang, kehidupan kita tidak akan berakhir sampai sini karena kita bisa meng-install driver eksternal untuk konversi USB ke UART dengan menekan link ini.

Tampilan link download USB driver

6. Pilih port Anda pada Tools > Port.

Tampilan menu Port

7. Let’s go ke projek!

Project

  1. Hubungkan ESP32 ke device Anda.
Connect ESP32 ke laptop

2. Masukkan kode ini.

void setup() {
// put your setup code here, to run once:
pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(500); // wait for 500 ms
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage low
delay(500); // wait for 500 ms
}

3. Klik tombol verify.

Tombol Verify + outputnya

4. Klik tombol upload sambil menekan BOOT pada ESP32 hingga muncul pesan Done uploading.

5. Tekan tombol EN pada ESP32 untuk mereset board dan…

6. SELESAIIIIIIIII!!!!!!!!!

— Hasil

LED Blink with delay 500 ms

— Break the Code!

void setup() {
// put your setup code here, to run once:
pinMode(LED_BUILTIN, OUTPUT);
}

Potongan kode ini hanya dijalankan satu kali oleh sistem untuk menginisiasi pin mana yang digunakan untuk menerima output program. Di projek ini, kita menggunakan LED internal ESP32, yaitu LED_BUILTIN sebagai output.

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(500); // wait for 500 ms
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage
delay(500); // wait for 500 ms
}

Potongan kode ini dijalankan berulang kali oleh sistem. Fungsi digitalWrite() menerima input pin dan nilai HIGH (lampu menyala) atau LOW (lampu padam). Fungsi delay() berfungsi untuk mengatur jeda lampu menyala dan padam.

— Weird Error

Error yang kuhadapi sangat aneh. Pas aku download converter driver USB ke UART, kan bentuknya dalam format .zip ya. Setelah diesktrak, portnya masih aja belum muncul. Aku coba re-download lagi dan masih aja belum bisa. Lalu, aku putuskan buat bertanya sama teman. Teman menyuruh re-download lagi dan malah jadi bisa. Agak aneh aja tapi ya sudah yang penting bisa dulu haha :D

— Bonus

Ketika kita menjalankan program tadi, secara otomatis kode program itu tersimpan di ESP32 sehingga kalau kita cabut dan menghubungkan kembali ESP32 ke listrik, maka ESP32 akan menjalankan program itu secara otomatis. Gimana biar program itu terhapus? Kita bisa meng-upload kode ini (kode kosong).

void setup() {

}

void loop() {

}

dann yeayyy selesaiii sudahhhhh~

— Resources

  1. https://randomnerdtutorials.com/getting-started-with-esp32/
  2. https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads
  3. https://www.arduino.cc/en/software

--

--