You plug in your new board, open the Arduino IDE or ESPHome, and nothing appears. Unfortunately, there is no COM port, no upload and no error that makes sense. An ESP32 not detected on Windows is one of the most common beginner problems, and the good news is that the cause is almost always simple.
So here are the seven fixes that solve it in almost every case, in the order we recommend trying them.

1. Use a Real Data Cable
First of all, this is the number one cause. Many USB cables, especially the ones that come with power banks or cheap gadgets, are charge-only. In other words, they have no data wires, so the board lights up but Windows never sees it.
Instead, try a cable you know transfers data, for example the one you use to copy photos from your phone. In fact, if your ESP32 is not detected and its power LED is on, swap the cable before you do anything else.
🛒 What you need
As an Amazon Associate, Arelvox earns from qualifying purchases. This does not change the price you pay.
2. Look in Device Manager
Next, right-click the Start button and open Device Manager. Then plug the board in and watch what appears:
- A new COM port under Ports (COM and LPT): the board is detected. In that case, note the number, for example COM4, and select it in your software.
- An unknown device or a yellow warning sign: Windows sees the board but has no driver. Go to step 3.
- Nothing changes at all: it is the cable, the USB port or the board. Try steps 1 and 4.
3. Install the CP210x or CH340 Driver
In fact, the ESP32 itself does not speak USB on most classic boards. Instead, a small USB-to-serial chip next to the USB connector does the job, and Windows needs the matching driver. So, look closely at that chip:
- CP2102 or CP2104 (square chip, Silicon Labs): install the CP210x driver from Silicon Labs.
- CH340 or CH9102 (often a longer chip, WCH): install the CH340 or CH343 driver from the manufacturer.
Our ESP32 WROOM-32 board uses the CP210x chip. As soon as we installed the driver, it appeared straight away as COM4. However, download drivers only from the chip maker’s official website, never from random download sites.
4. ESP32 Not Detected? Try Another USB Port
In addition, front-panel ports, USB hubs and some USB-C adapters can be unreliable or underpowered. Instead, plug the board directly into a port on the computer itself. On a laptop, try the other side as well. Similarly, if you have an ESP32 connected to power-hungry parts such as a radar module, unplug them for the first test.
5. ESP32 Not Detected by Your Software? Close Other Programs
Sometimes the ESP32 is not detected by your upload tool even though Windows sees it. Keep in mind that a COM port can only be used by one program at a time. If the Arduino serial monitor, PuTTY, Cura or another ESPHome window has the port open, uploads fail with errors like Access denied or could not open port. Therefore, close them and try again.
6. Hold BOOT When the Upload Fails
If Windows sees the COM port but the upload stops with Failed to connect to ESP32: Timed out waiting for packet header, the board did not enter download mode on its own. To fix it:
- Start the upload.
- When you see Connecting…, press and hold the BOOT button.
- Release it when the upload percentage starts to move.
In fact, some boards need this every time. In addition, check that nothing is connected to GPIO 0, 2 or 12, because those pins control the boot mode. Our guide to ESP32 pins that are safe to use explains why.
7. ESP32 Still Not Detected? Rule Out a Faulty Board
If you tried everything and your ESP32 is still not detected, test the same cable and port with another board, or test your board on another computer. Sadly, cheap boards occasionally arrive with a broken USB connector or a dead serial chip. So if another board works, contact the seller for a replacement.
Finally, once your board is detected, you are ready to build. Follow our guide to installing ESPHome on Windows and flash your first project.
FAQ: ESP32 Not Detected
Why is my ESP32 not detected by my computer?
The most common causes are a charge-only USB cable and a missing CP210x or CH340 driver. Try a data cable first, then install the driver for the chip on your board.
How do I know which driver my ESP32 needs?
Look at the small chip next to the USB connector. CP2102 or CP2104 needs the Silicon Labs CP210x driver, while CH340 or CH9102 needs the WCH driver.
What does “Timed out waiting for packet header” mean?
The ESP32 did not enter download mode. Hold the BOOT button when the upload says Connecting, and release it once the upload starts.
Why does my COM port number keep changing?
Windows may assign a new number when you use a different USB port. Check Device Manager and select the current port.
Can a USB hub cause problems?
Yes. Some hubs do not provide enough power or a stable connection. Plug the board directly into the computer.