I am getting the Arduino console error "the selected serial port serial.serialutil.SerialTimeoutException: Write timeout does not exist or your board is not connected". I recently upgraded to esp8266 version 3.0.2 and cannot upload a simple blink led sketch to my board. Does anyone know how to resolve this? I would like to be able to use the latest core although downgrading to version 2.7.4 allows me to upload sometimes.

Arduino Code:

#define LED_BUILTIN 2

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);     // Initialize the LED_BUILTIN pin as an output

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, LOW);   // Turn the LED on (Note that LOW is the voltage level
                                // but actually the LED is on; this is because 
                                // it is acive low on the ESP-01)
  delay(1000);                      // Wait for a second
  digitalWrite(LED_BUILTIN, HIGH);  // Turn the LED off by making the voltage HIGH
  delay(2000);                      // Wait for two seconds (to demonstrate the active low LED)

Console output: Arduino: 1.8.13 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"

Executable segment sizes:

ICACHE : 32768 - flash instruction cache

IROM : 231724 - code in flash (default or ICACHE_FLASH_ATTR)

IRAM : 26793 / 32768 - code in IRAM (IRAM_ATTR, ISRs...)

DATA : 1496 ) - initialized variables (global, static) in RAM/HEAP

RODATA : 876 ) / 81920 - constants (global, static) in RAM/HEAP

BSS : 25608 ) - zeroed variables (global, static) in RAM/HEAP

Sketch uses 260889 bytes (24%) of program storage space. Maximum is 1044464 bytes.

Global variables use 27980 bytes (34%) of dynamic memory, leaving 53940 bytes for local variables. Maximum is 81920 bytes.

esptool.py v3.0

Serial port COM4


Traceback (most recent call last):

File "C:\Users\ab\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2/tools/upload.py", line 66, in


File "C:/Users/ab/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py", line 3552, in main

esp.connect(args.before, args.connect_attempts)

File "C:/Users/ab/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py", line 519, in connect

last_error = self._connect_attempt(mode=mode, esp32r0_delay=False)

File "C:/Users/ab/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py", line 499, in _connect_attempt


File "C:/Users/ab/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py", line 438, in sync


File "C:/Users/ab/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py", line 376, in command


File "C:/Users/ab/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py", line 339, in write


File "C:/Users/ab/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/pyserial\serial\serialwin32.py", line 325, in write

raise SerialTimeoutException('Write timeout')

serial.serialutil.SerialTimeoutException: Write timeout

the selected serial port serial.serialutil.SerialTimeoutException: Write timeout

does not exist or your board is not connected

This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.

  • Are you sure that you have the correct COM port selected?
    – chrisl
    Nov 7, 2021 at 21:17
  • Yes, since downgrading the core to 2.7.4 allows me to upload.
    – mac11
    Nov 7, 2021 at 21:20


Your Answer

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