ESP32 bekerja di tegangan logika 3,3V, dan pin GPIO-nya tidak dirancang untuk menerima 5V. Kalau sensor mengirim sinyal 5V, turunkan dulu ke sekitar 3,3V dengan pembagi tegangan (untuk sinyal satu arah) atau level shifter (untuk sinyal dua arah seperti I2C). Sinyal dari ESP32 ke modul 5V biasanya aman karena 3,3V umumnya sudah terbaca HIGH oleh modul 5V, tapi tetap cek datasheet modulnya.
Kenapa 5V berbahaya untuk ESP32?
Datasheet ESP32 menetapkan tegangan maksimum di pin input sedikit di atas tegangan suplainya (3,3V). Memberi 5V terus-menerus berarti melewati batas itu. Kadang ESP32 tidak langsung rusak, sehingga orang mengira aman, padahal pin bisa melemah atau rusak perlahan. Untuk alat yang dipakai lama, jangan ambil risiko.
Cara 1: pembagi tegangan (satu arah)
Dua resistor membagi tegangan 5V menjadi sekitar 3,3V:
Vout = Vin × R2 / (R1 + R2)
R1 = 1 kΩ (dari sinyal 5V), R2 = 2 kΩ (ke GND)
Vout = 5 × 2 / 3 = 3,33 V → aman untuk ESP32
Alternatif nilai: R1 = 10 kΩ, R2 = 20 kΩ (arus lebih kecil, tapi lebih lambat)
Cocok untuk sinyal yang lambat sampai sedang, seperti pin ECHO sensor ultrasonik HC-SR04, output sensor digital, atau TX dari modul 5V ke RX ESP32.
Cara 2: level shifter (dua arah)
Untuk jalur dua arah seperti I2C, pembagi tegangan tidak bisa dipakai. Gunakan level shifter berbasis MOSFET seperti BSS138 (banyak dijual dalam bentuk modul 4 kanal), atau IC level translator. Sisi rendah diberi 3,3V, sisi tinggi diberi 5V, dan sinyal bisa lewat ke dua arah.
Cara 3: pilih sensor yang sudah 3,3V
Banyak sensor modern bisa bekerja di 3,3V. Kalau modul sensor punya regulator dan pull-up sendiri, cek di tegangan mana pull-up-nya tersambung. Modul I2C yang pull-up-nya ke 5V akan menaikkan jalur SDA/SCL ke 5V walaupun ESP32 bekerja di 3,3V.
Contoh: HC-SR04 di ESP32
- VCC sensor ke 5V, GND ke GND bersama.
- TRIG dari ESP32 langsung (3,3V biasanya cukup sebagai HIGH untuk modul ini).
- ECHO ke ESP32 lewat pembagi tegangan 1 kΩ / 2 kΩ.
Jangan lupa ground bersama
Sinyal hanya bermakna bila kedua perangkat punya referensi ground yang sama. Sambungkan GND sensor dan GND ESP32, kecuali memang memakai rangkaian terisolasi seperti optocoupler dengan suplai terpisah.
Kesimpulan
Turunkan sinyal 5V sebelum masuk ESP32: pembagi tegangan untuk satu arah, level shifter untuk dua arah, atau pilih sensor 3,3V sejak awal. Langkah kecil ini membuat alatmu awet. Di Bootcamp SALTECH, input 12–24V bahkan dibaca lewat optocoupler supaya ESP32 lebih terlindungi.
Pertanyaan yang sering muncul
Apakah ESP32 benar-benar tidak toleran 5V?
Datasheet tidak menjamin pin ESP32 tahan 5V. Anggap tidak toleran, dan turunkan tegangannya.
Apakah TX ESP32 bisa langsung ke RX Arduino 5V?
Umumnya bisa, karena 3,3V biasanya sudah terbaca HIGH. Tapi arah sebaliknya (TX Arduino ke RX ESP32) harus diturunkan.
