Kembali ke Katalog Modul
MODUL 24 DEEP DIVE

Energy Harvesting & Deep Sleep Mode ESP32 (10µA)

MODUL 24 (SPESIALIS IOT): DEEP SLEEP MODE & ENERGY HARVESTING


📌 META MODUL & PRASYARAT

  • Bidang Spesialisasi: Low-Power Firmware Optimization & Energy Harvesting.
  • Target Pembaca: Pembelajar yang sudah menguasai Sistem Power Supply (Modul 23).
  • Learning Outcome:
  • Memahami mode hemat daya ESP32 (Active Mode, Modem Sleep, Light Sleep, Deep Sleep).
  • Mampu membuat program ESP32 Deep Sleep yang mematikan CPU & WiFi (hanya mengkonsumsi 10 µA).
  • Mampu membangunkan ESP32 menggunakan Timer Wakeup, External Touch Wakeup, atau GPIO Ext0/Ext1 Interrupt.
  • Mampu menyimpan data penting di memori RTC Fast/Slow SRAM yang tetap bertahan saat Deep Sleep.
  • Estimasi Waktu Belajar: 120 Menit.
  • Tingkat Kesulitan: 🟡 Menengah (Level 24 / 40).
  • Prasyarat: Modul 23 (Perancangan Power Supply, Battery & Solar Power untuk IoT).

📋 TABEL PERBANDINGAN KONSUMSI ARUS MODE SLEEP ESP32

Mode Operasi ESP32Komponen yang NyalaArus Konsumsi Rata-rata
Active ModeCPU Dual Core (240MHz) + WiFi + Bluetooth160 mA - 260 mA (Boros)
Modem SleepCPU Nyala, Radio WiFi Mati Sementara20 mA - 30 mA
Light SleepCPU Suspended, ULP Coprocessor & RTC Nyala0.8 mA (800 µA)
Deep Sleep ModeCPU MATI TOTAL, WiFi Mati, Hanya RTC Controller Nyala10 µA (0.01 mA - SANGAT HEMAT!)

⚡ CHEAT SHEET KODE ESP32 DEEP SLEEP TIMER WAKEUP

#define uS_TO_S_FACTOR 1000000ULL  / Konversi ke mikrodetik /
#define TIME_TO_SLEEP 300 / Waktu tidur dalam detik (5 Menit) /

RTC_DATA_ATTR int bootCount = 0; / Simpan variabel di RTC RAM agar tidak hilang saat sleep /

void setup() {
Serial.begin(115200);
bootCount++;
Serial.printf("ESP32 Bangun! Jumlah Booting: %d\n", bootCount);

// === 1. BACA SENSOR & PUBLISH KE MQTT DI SINI ===

// === 2. ATUR WAKTU BANGUN DEEP SLEEP ===
esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);

Serial.println("Masuk ke mode Deep Sleep selama 5 Menit...");
Serial.flush();
esp_deep_sleep_start(); // Masuk tidur total!
}

void loop() {}



Latihan & Quiz Evaluasi Modul

Progres Quiz: 0 / 2 Soal
SOAL #1
Berapakah konsumsi arus ESP32 saat berada dalam mode **Deep Sleep Mode**?
SOAL #2
Jenis atribut variabel C++ manakah yang digunakan agar nilai variabel tersimpan di memori RTC RAM dan tidak ter-reset saat ESP32 bangun dari Deep Sleep?

Kunci Jawaban & Pembahasan

Kunci Jawaban: 1. c. ~10 µA, 2. b. RTC_DATA_ATTR.


Apakah Anda siap lanjut ke Modul 25: Database Fundamentals untuk IoT (Relational vs Time-Series)?