I'm completely new to electronics work.

Today I've received the ESP32 board that I ordered. (It's a WROOM-32.) I followed the instructions here. I connected the board to my computer via USB and I successfully installed the CP210x drivers and got a new serial port COM3, but when I tried to connect to the board with that serial port, I got nothing. I'm on Windows 7.

I tried with Tera Term, and it just shows an empty screen.

I tried type COM3 in the shell, but got an empty string.

I tried doing esptool.exe --chip esp32 -p com3 erase_flash, but I get "Failed to connect to ESP32: Timed out waiting for packet header".

I tried playing with the two buttons on the WROOM32 board, but that didn't help.

Any idea what I'm doing wrong? I'm a complete newbie so it's likely that I'm forgetting something basic.

  • What do you think you would expect to see on the serial of a blank chip?
    – Majenko
    Commented Apr 28, 2019 at 10:48
  • @Majenko Okay, so let's say it's supposed to be blank. The esptool is supposed to run without errors when flashing it, right?
    – Ram Rachum
    Commented Apr 28, 2019 at 11:04
  • 1
    Only if it's set to reset the board into flashing mode. Install the Arduino IDE. Install the ESP32 core. Select the right board. Load an example. Program it. Then, and only then, should you go on to advanced topics like programming from the command line.
    – Majenko
    Commented Apr 28, 2019 at 11:11
  • @Majenko Okay, I did everything you said. Installed Arduino IDE with the ESP32 core. Loaded the AnalogReadSerial. Pressed upload. It failed. Looks like the ESP32 core is using esptool internally, cause the error from Arduino IDO is the exact same one I got in my question: Failed to connect to ESP32: Timed out waiting for packet header
    – Ram Rachum
    Commented Apr 28, 2019 at 11:59
  • the tutorial linked in question is about Lua
    – Juraj
    Commented Apr 28, 2019 at 14:22

1 Answer 1


The issue is that the Serial port on the ESP32-WROOM setup is not like like on the Arduino. It seems that the initialisation will 'miss' the USB enumeration after reboot.

To fix this add a delay in your setup() function of 10 to 15-seconds before initialising the serial.

For example:

void setup() {

  Serial.println("Setting up Access Point...");
  • This works for me, but I hope there is a more elegant solution out there. Commented Nov 1, 2019 at 10:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.