ESP32

ESP32 Restart Sendiri (Brownout Detector): Penyebab dan Cara Mengatasinya

Board ESP32 dengan catu daya dan relay

ESP32 yang restart sendiri dengan pesan Brownout detector was triggered hampir selalu disebabkan oleh tegangan 3,3V yang turun sesaat. Lonjakan arus saat WiFi mengirim data, relay yang menyala, atau catu daya yang lemah membuat tegangan drop di bawah batas aman, lalu ESP32 me-reset dirinya sendiri untuk mencegah kerusakan data.

Apa itu brownout detector?

ESP32 punya pengawas tegangan bawaan. Kalau tegangan suplai turun di bawah ambang tertentu, chip langsung di-reset supaya tidak berjalan dalam kondisi tidak stabil. Jadi brownout bukan kerusakan ESP32, tapi tanda bahwa suplai dayanya tidak kuat.

Penyebab yang paling sering

  1. Lonjakan arus WiFi. Saat memancar, ESP32 bisa menarik ratusan miliampere dalam waktu singkat. Regulator kecil atau suplai lemah tidak sanggup mengikutinya.
  2. Kabel USB jelek atau panjang. Kabel tipis punya hambatan besar, tegangan drop saat arus naik.
  3. Port USB laptop atau adaptor lemah.
  4. Kapasitor kurang di dekat pin 3,3V modul.
  5. Relay atau motor di suplai yang sama, apalagi tanpa dioda flyback.
  6. Regulator terlalu panas lalu masuk proteksi termal, misalnya LDO yang menurunkan 12V langsung ke 3,3V.

Cara mengatasinya

  • Ganti kabel dan sumber daya. Coba kabel USB pendek berkualitas dan adaptor yang kuat. Untuk board dengan relay, pakai adaptor eksternal, bukan dari port USB laptop.
  • Tambahkan kapasitor bulk sekitar 10–100µF di dekat pin 3,3V, plus 100nF. Baca kapasitor decoupling.
  • Pilih regulator dengan arus cukup. Patokan umum, siapkan suplai 3,3V yang sanggup minimal sekitar 500 mA untuk ESP32 dengan WiFi.
  • Pisahkan beban berat. Relay dan motor sebaiknya diberi jalur daya yang tidak "mencuri" tegangan dari ESP32, dan selalu pakai dioda flyback.
  • Perbaiki layout. Jalur daya lebar, ground plane utuh, regulator dekat modul.

Bolehkah mematikan brownout detector?

Secara teknis bisa lewat kode atau konfigurasi, dan sering muncul sebagai "solusi cepat" di internet. Tapi itu hanya menyembunyikan gejala. ESP32 tetap berjalan di tegangan yang tidak stabil, sehingga bisa crash secara acak, gagal menulis flash, atau WiFi putus-sambung. Perbaiki suplainya, jangan matikan pengamannya.

Cara memastikan penyebabnya

  1. Ukur tegangan 3,3V dengan multimeter saat idle dan saat WiFi aktif. Multimeter biasa tidak menangkap drop singkat, tapi penurunan rata-rata sudah jadi petunjuk.
  2. Coba jalankan program tanpa WiFi. Kalau restart hilang, masalahnya hampir pasti lonjakan arus WiFi.
  3. Lepas relay atau beban lain. Kalau restart hilang, masalahnya di jalur beban.

Kesimpulan

Brownout adalah gejala catu daya yang tidak cukup kuat atau tidak cukup bersih. Atasi dengan kabel dan adaptor yang baik, kapasitor yang cukup, regulator yang tepat, dan layout yang benar. Desain catu daya ESP32 yang stabil dipraktikkan langsung di Bootcamp SALTECH.

Pertanyaan yang sering muncul

Kenapa ESP32 restart hanya saat relay menyala?

Biasanya karena lonjakan arus coil relay menurunkan tegangan suplai, atau back-EMF tanpa dioda flyback. Periksa dioda dan pisahkan jalur daya relay.

Apakah ESP32 rusak kalau sering brownout?

Brownout sendiri adalah mekanisme pengaman. Tapi suplai yang tidak stabil dalam jangka panjang tetap berisiko, terutama saat menulis flash.

Tanya via WhatsApp