Kalau ESP32 tak detect dalam Arduino IDE, puncanya hampir selalu salah satu daripada tiga perkara ini: kabel USB jenis cas sahaja, driver CH340 atau CP2102 belum dipasang, atau board yang perlukan butang BOOT ditahan masa upload. Tukar dulu kepada kabel data yang betul — langkah itu sahaja dah selesaikan lebih separuh kes yang kami jumpa.
Kenapa ESP32 saya langsung tak detect?
Punca nombor satu, jauh mendahului yang lain, ialah kabel USB cas sahaja. Muat elok, lampu board pun menyala, tapi sebab tiada wayar data di dalamnya, komputer anda langsung tak nampak cip tu.
Ujian pantas: cucuk kabel yang sama pada telefon. Kalau tiada prompt pemindahan fail, kabel itu memang tak akan boleh program ESP32. Simpan satu kabel data yang confirm elok dalam kit anda dan labelkan.

Driver USB mana ESP32 saya perlukan — CH340 atau CP2102?
Tengok cip kecil berhampiran penyambung USB. Ia sama ada CH340 (pasang driver WCH) atau CP2102 (pasang driver Silicon Labs). Board dev CP2102 dan board CH340 kami bezanya terutamanya pada driver mana yang diperlukan.
Lepas pasang, cucuk semula — board sepatutnya muncul sebagai COM port dalam Windows Device Manager, atau sebagai /dev/cu.* pada Mac.
Barang yang disyorkan
Board alternatif
Apa maksud sebenar setiap simptom?
| Simptom | Punca berkemungkinan | Penyelesaian |
|---|---|---|
| Board hidup tapi tiada COM port muncul | Kabel USB cas sahaja | Guna kabel data — pastikan ia keluarkan prompt pemindahan fail pada telefon |
| Kabel data confirm elok, port masih tiada | Driver USB belum dipasang | Pasang driver yang sepadan — WCH (CH340) atau Silicon Labs (CP2102) — kemudian cucuk semula |
| “Connecting…….._____” kemudian “Failed to connect to ESP32: Timed out waiting for packet header” atau, pada esptool baru, “No serial data received” (error 2) | Board tidak masuk download mode | Tahan BOOT bila “Connecting…” muncul, lepaskan sebaik upload bermula |
| Port ada tapi upload terus gagal serta-merta | Port sibuk — Serial Monitor atau tetingkap IDE lain sedang pegang port | Tutup Serial Monitor dan tetingkap IDE lain, cuba semula |
| Upload okay sendirian, “hilang” bila atas expansion board | Expansion board perlukan bekalan kuasa sendiri | Bekalkan expansion board dengan 5V luaran; kekalkan USB pada ESP32 untuk upload |
| Reset rawak, “Brownout detector was triggered” | Kuasa tak cukup (WiFi + peranti tambahan) | Kabel atau port yang lebih baik, atau bekalan 5V luaran |
| ESP32-C3 Super Mini tak muncul | Board native-USB belum masuk bootloader mode | Tahan BOOT sambil cucuk kabel |
Macam mana nak fix “Failed to connect to ESP32: Timed out waiting for packet header”?
Inilah error 2 yang terkenal tu. Komputer anda nampak board, tapi board tak berada dalam download mode masa esptool mengetuk.
Penyelesaiannya soal timing: klik Upload, dan sebaik sahaja Connecting........ muncul, tekan dan tahan butang BOOT. Lepaskan bila peratus upload mula naik. Banyak board dev murah memang tiada litar auto-boot, jadi kena tekan butang tu perkara biasa, bukan kerosakan.

Arduino IDE saya betul-betul dah set up untuk ESP32 ke?
Arduino IDE tak kenal ESP32 secara default. Dalam Boards Manager, pasang “esp32 by Espressif Systems”. Kemudian pilih board — “ESP32 Dev Module” yang generik sesuai untuk kebanyakan board — dan port yang betul.
Satu lagi, tutup Serial Monitor sebelum upload: port hanya boleh layan satu program pada satu masa, dan monitor yang tertinggal terbuka di tetingkap lain memang penyebab klasik. Lepas tu upload sketch ujian ini:
// Ujian upload minimum ESP32 untuk Arduino IDE
// Board: "ESP32 Dev Module" — Port: COM anda / port /dev/cu.*
const int LED_PIN = 2; // kebanyakan board dev ESP32 ada LED onboard pada GPIO 2
void setup() {
pinMode(LED_PIN, OUTPUT);
Serial.begin(115200); // set Serial Monitor kepada 115200 baud supaya sepadan
}
void loop() {
digitalWrite(LED_PIN, HIGH);
Serial.println("ESP32 alive - upload and serial are working");
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
}
Kalau LED berkelip dan teks mengalir masuk di Serial Monitor, maksudnya kabel, driver, IDE dan board semuanya terbukti elok.
Apa susunan troubleshooting paling pantas?
- Uji kabel USB pada telefon — tiada prompt pemindahan fail bermakna cas sahaja. Ganti.
- Kenal pasti cip USB (CH340 atau CP2102) dan pasang driver yang sepadan.
- Pastikan board muncul: COM port (Windows) atau
/dev/cu.*(Mac). - Pasang “esp32 by Espressif Systems”, pilih “ESP32 Dev Module” dan port yang betul.
- Tutup Serial Monitor dan tetingkap IDE lain sebelum upload.
- Keluar “Connecting…” kemudian timeout? Tahan BOOT sampai upload bermula.
- Reset rawak atau brownout? Baiki bekalan kuasa: kabel lebih baik, port lain, atau 5V luaran.
Kenapa ESP32 okay sendirian tapi tak jalan atas expansion board?
Aduan klasik pelajar RBT dan FYP: board upload elok sendirian, kemudian “tak muncul” bila dah dipasang atas expansion board.
Semak sama ada expansion board tu ada input kuasa sendiri — banyak yang memang expect 5V luaran untuk servo, sensor dan relay, sedangkan USB pada ESP32 masih diperlukan untuk upload. LM2596 buck converter yang di-set ke 5V ialah cara biasa untuk suapkan rail tu.
Kenapa ESP32 asyik reset atau keluar “Brownout detector was triggered”?
Reboot rawak dan mesej brownout bermakna board tu kelaparan arus, bukan kod anda yang rosak. WiFi campur peranti tambahan boleh minta arus lebih daripada yang mampu diberi oleh kabel lemah atau port laptop. Guna kabel lebih baik, port USB lain, atau bekalan 5V luaran.
Macam mana pula dengan ESP32-C3 Super Mini?
ESP32-C3 Super Mini guna native USB — tiada CH340 atau CP2102 di tengah — jadi setup dia lain sikit tapi lebih mudah. Kalau ia berdegil tak mahu muncul, tahan BOOT sambil cucuk kabel untuk paksa masuk bootloader.
Kesilapan biasa yang kami nampak daripada pelanggan sebenar
“sometimes i can connect but sometimes it wont connect” — detect yang keluar-masuk macam ni hampir selalunya masalah fizikal: kabel dah lusuh, port USB longgar, atau sambungan header yang goyang. Tukar kepada kabel data pendek yang confirm elok dan cuba port lain; kalau anda solder header sendiri, reflow mana-mana pin yang mencurigakan.
“the esp32 itself is okay but when connected to the expansion board, it doesn’t appear” — besar kemungkinan expansion board tu perlukan 5V luaran sendiri. Bekalkan kuasa secara berasingan; kekalkan USB pada ESP32 untuk upload.
“Why did my esp32 show error code 2” — itu exit code esptool untuk “Timed out waiting for packet header” (rujuk panduan troubleshooting esptool Espressif). Tahan BOOT bila “Connecting…” muncul.
“esp apakah yang sesuai untuk saya guna tanpa menekan button boot semasa uploading coding” — pilih board dengan litar auto-boot yang berfungsi; banyak board murah tak ada. Native USB pada ESP32-C3 Super Mini pun laluan yang lebih senang.
“Also tried with different cable. Not working” — rupanya kabel kedua tu pun kabel cas sahaja juga — perkara ni berlaku lebih kerap daripada yang anda sangka. Sentiasa sahkan dengan ujian pemindahan fail pada telefon dulu.
FAQ
Kenapa ESP32 saya keluar error code 2?
Error 2 ialah esptool mengalah selepas “Timed out waiting for packet header” — board tak pernah masuk download mode. Tahan BOOT bila “Connecting…” muncul.
ESP32 mana boleh saya guna tanpa tekan butang BOOT setiap kali upload?
Board dengan litar auto-boot yang betul masuk download mode secara automatik; banyak board murah tinggalkan litar tu. Native USB pada ESP32-C3 Super Mini pun alternatif lebih mudah — BOOT hanya perlu bila port berdegil tak muncul.
Kabel charger telefon saya muat pada board — kenapa tak jalan?
Banyak kabel charger jenis cas sahaja, tiada wayar data, jadi board hidup tapi kekal tak kelihatan. Uji kabel pada telefon: tiada prompt pemindahan fail bermakna ia tak boleh program ESP32.
Kena pasang driver pada Mac juga ke?
Kebiasaannya tak perlu lagi. macOS moden dah ada driver Apple untuk CH340 dan CP2102, jadi board terus muncul sebagai peranti /dev/cu.*. Pasang driver WCH atau Silicon Labs hanya kalau port tak muncul — jangan pasang kedua-duanya, sebab driver vendor atas driver Apple boleh buat port bercanggah.
Upload dah jalan — apa patut saya bina dulu?
Sesuatu yang kecil dengan sensor sebenar. Tutorial jemuran automatik dengan sensor hujan kami ialah projek pertama yang popular untuk cuaca Malaysia.
Kemas kini terakhir Julai 2026. Tersangkut? Chat dengan kami di WhatsApp.



NodeMCU ESP32 Wi-Fi + Bluetooth Development Board CH340/CP2012 - For IOT Project - ESP-32(CP2102)
Data Cable Type-A Type-C MicroUSB Type-B 0.5m 1m 30cm 0.3m 100cm Data Transfer Upload Code - TYPE-A TO TYPE-C CABLE (0.5M)
ESP32 Super Mini Ultra Small Size ESP32-C3 RISC-V Low Power Consumption - ESP32-C3 SUPER MIN
NodeMCU ESP32 Wi-Fi + Bluetooth Development Board CH340/CP2012 - For IOT Project - ESP-32 (CH340)