Khắc phục lỗi ESP32 không nhận cổng COM trên máy tính

Hướng dẫn dành cho Windows 10 trở lên – đảm bảo dùng cáp USB loại Data.

1. Kiểm tra 3 điều cơ bản trước tiên

Nếu PC không nhận COM khi cắm ESP32, hãy kiểm tra ngay 3 yếu tố sau:

  • Máy tính phải dùng Windows 10 hoặc Windows 11.
  • Dùng cáp USB loại Data – KHÔNG dùng cáp chỉ sạc (charging-only).
  • Cắm vào cổng USB ở mặt sau của PC (nguồn ổn định hơn).
💡 80% lỗi ESP32 không nhận COM đến từ **cáp USB chỉ sạc**. Nếu cắm mà sạc được nhưng không nhận COM → 90% là do cáp!

2. Kiểm tra trong Device Manager

Bấm: Windows + X → Device Manager

2.1 Nếu có mục “Ports (COM & LPT)”

  • Tìm dòng: CP210x → Silicon Labs, hoặc USB-SERIAL CH340
  • Nếu thấy → COM đã nhận → chuyển sang nạp firmware.

2.2 Nếu không thấy COM

Kiểm tra tại mục: “Universal Serial Bus (USB) Controllers”.

  • Nếu xuất hiện USB Unknown Device → thiếu driver.
  • Nếu không xuất hiện gì khi cắm board → khả năng cao do cáp.
⚠️ Nếu bạn nghe tiếng “ting” khi cắm USB mà không thấy COM → gần như chắc chắn thiếu driver.

3. Cài driver tương ứng với board ESP32

Có 2 nhóm driver phổ biến cho ESP32:

  • CP2102 Driver (Silicon Labs) – dùng cho phần lớn board S3 Mini / S3 Tim.
  • CH340 Driver – dùng cho board giá rẻ, nhiều knock-off.

3.1 Tải driver CP2102

Link chính thức: Silicon Labs VCP Drivers

3.2 Tải driver CH340

Link ổn định nhất: CH340 Windows Driver

🔁 Sau khi cài driver → khởi động lại máy → cắm lại ESP32 → kiểm tra COM.

4. Thử đổi cổng USB hoặc đổi cáp

Nếu đã cài driver mà vẫn không nhận:

  • Đổi sang cổng USB khác.
  • Ưu tiên dùng USB 2.0 (thường màu đen), hạn chế USB 3.0 (màu xanh) với một số board.
  • Đổi sang một cáp USB Data chất lượng hơn.
💡 Cáp tốt nhất: USB Data hỗ trợ truyền dữ liệu – thường đi kèm điện thoại Samsung, Xiaomi, Oppo.

5. Kiểm tra nút BOOT / EN trên board

Nhiều board cần giữ BOOT khi kết nối:

  • Giữ nút BOOT → cắm USB → thả tay.
  • Nếu có nút EN / RESET → bấm 1 lần sau khi cắm.

6. Dùng thử một phần mềm kiểm tra COM

Để chắc chắn, bạn có thể thử mở: Thonny, Arduino IDE, ESP-IDF Monitor, Putty

Dù không nạp, phần mềm vẫn liệt kê COM nếu nhận được tín hiệu USB-UART.

7. Nếu vẫn không nhận COM

Khả năng còn lại:

  • Cổng USB của máy tính bị yếu / chập chờn.
  • Board ESP32 bị lỗi chip USB-UART.
  • Cổng USB-C trên board bị hàn lỗi hoặc đứt chân.
🛠️ Cách thử cuối: dùng một máy tính khác hoặc một cáp khác. Nếu máy khác nhận → board không lỗi. Nếu máy khác vẫn không nhận → board cần được kiểm tra phần cứng.