Jika Anda baru mulai belajar ESP32, proyek pertama yang hampir selalu dicoba adalah LED Blink. Proyek ini sering disebut sebagai “Hello World” pada dunia mikrokontroler karena sangat sederhana namun membantu memahami dasar pemrograman hardware.
Pada tutorial ini kita akan membuat LED pada board ESP32 berkedip setiap 1 detik menggunakan Arduino IDE.
Mengenal ESP32
ESP32 adalah mikrokontroler yang populer untuk pengembangan Internet of Things (IoT) karena memiliki fitur WiFi dan Bluetooth yang sudah terintegrasi. Board ini juga memiliki beberapa GPIO (General Purpose Input Output) yang dapat digunakan untuk membaca sensor maupun mengendalikan perangkat seperti LED, relay, dan motor.
Sebagian besar board ESP32 memiliki LED bawaan yang terhubung ke pin GPIO2, sehingga kita bisa langsung menggunakannya tanpa rangkaian tambahan.

Tujuan Percobaan
Pada tutorial ini kita akan:
- Mengenal struktur dasar program ESP32
- Mengontrol pin digital sebagai output
- Membuat LED menyala dan mati secara berulang
Alat dan Bahan
Untuk mencoba tutorial ini, siapkan:
- 1x Board ESP32 DevKit
- 1x Kabel USB
- Laptop / PC
Opsional (jika menggunakan LED eksternal):
- 1x LED
- 1x Resistor 220–330Ω
- Breadboard dan jumper
Persiapan Arduino IDE
Sebelum menulis program, pastikan board ESP32 sudah terpasang pada Arduino IDE.

Langkah umum:
- Buka Arduino IDE
- Masuk ke menu File → Preferences
- Tambahkan URL berikut pada Additional Board Manager URLs
https://dl.espressif.com/dl/package_esp32_index.json
- Buka Tools → Board → Boards Manager
- Cari ESP32 by Espressif Systems
- Klik Install
Setelah selesai, pilih board:
Tools → Board → ESP32 Dev Module
Program LED Blink
Sekarang kita buat program untuk menyalakan dan mematikan LED secara berulang.
#define LED_PIN 2
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(1000);
digitalWrite(LED_PIN, LOW);
delay(1000);
}Upload program tersebut ke board ESP32 melalui Arduino IDE.
Jika berhasil, LED pada board akan berkedip setiap satu detik.

Penjelasan Program
Mari kita pahami kode di atas.
Mendefinisikan Pin LED
#define LED_PIN 2
Baris ini menentukan bahwa LED terhubung ke GPIO2, yang merupakan pin LED bawaan pada banyak board ESP32.
Fungsi setup()
void setup() {
pinMode(LED_PIN, OUTPUT);
}Fungsi setup() dijalankan sekali saat board dinyalakan.
Pada bagian ini kita mengatur pin LED sebagai OUTPUT, sehingga ESP32 dapat mengirimkan sinyal listrik ke LED.
Fungsi loop()
void loop() {Fungsi loop() akan berjalan terus menerus selama board aktif.
Di dalam fungsi ini kita membuat LED berkedip.
Menyalakan LED
digitalWrite(LED_PIN, HIGH);
Perintah ini memberikan tegangan HIGH pada pin sehingga LED menyala.
Delay
delay(1000);
delay(1000) berarti menunggu 1000 milidetik (1 detik) sebelum menjalankan perintah berikutnya.
Mematikan LED
digitalWrite(LED_PIN, LOW);
Perintah ini memberikan tegangan LOW, sehingga LED mati.
Hasil yang Diharapkan
Setelah program berhasil diupload:
- LED pada board ESP32 akan menyala selama 1 detik
- kemudian mati selama 1 detik
- proses ini akan berulang terus menerus
Kesimpulan
Pada tutorial ini kita telah berhasil membuat program LED Blink menggunakan ESP32. Dari percobaan sederhana ini kita belajar beberapa konsep penting:
- Struktur dasar program Arduino (
setup()danloop()) - Menggunakan pin GPIO sebagai output
- Mengontrol perangkat sederhana seperti LED
Meskipun sederhana, konsep ini merupakan dasar untuk berbagai proyek IoT seperti:
- Kontrol lampu otomatis
- Sistem indikator
- Sistem notifikasi visual
- Kontrol perangkat melalui internet

Pingback: Belajar ESP32: Input Output - SMSRV