Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.
Upload error · esptool

Fix “A fatal error occurred: The chip stopped responding.”

esptool lost contact with the ESP32 in the middle of flashing. Power dips, a loose cable or a native-USB board resetting are the usual causes.

ESP32ESP32-S3ESP32-C3ESP32-CAMUpdated 3 Nov 2026

Community draft — report a mistake

What you see

OutputOutput
esptool v5.1.0
Connected to ESP32 on COM5:
Chip type:          ESP32-D0WD-V3 (revision v3.1)
Features:           Wi-Fi, BT, Dual Core + LP Core, 240MHz, Vref calibration in eFuse, Coding Scheme None
Crystal frequency:  40MHz
MAC:                08:3a:f2:xx:xx:xx

Uploading stub flasher...
Running stub flasher...
Stub flasher running.
Changing baud rate to 921600...
Changed.

Configuring flash size...
Flash will be erased from 0x00010000 to 0x000f1fff...
Writing at 0x0003c5e1 [=====>                        ]  21.4% 196608/917504 bytes...

A fatal error occurred: The chip stopped responding.
Failed uploading: uploading error: exit status 2

esptool v5 prints “The chip stopped responding” when a working connection goes silent during the upload. Everything up to that point succeeded: the chip was found, the stub was running, data was being written.

So the board did not refuse the upload. It disappeared. Treat it as a power or cable fault first.

Quick fix — try in order

  1. 1

    Use a different cable and a rear USB port

    Mid-transfer dropouts are most often a cable that loses contact or a port that cannot supply enough current.

  2. 2

    Disconnect external loads

    Anything powered from the board (relays, servos, LED strips, SIM800L) can brown out the ESP32 when its code was running or as GPIOs float during flashing.

  3. 3

    Lower Upload Speed

    Try 460800, then 115200.

  4. 4

    On native-USB boards, enter download mode by hand

    ESP32-S3/C3: hold BOOT, tap RESET, release BOOT, then upload. A crashing sketch can reset the chip during the first seconds of flashing.

Why it happens

Is this the same as “No serial data received”?

No. Here the connection worked, the stub ran and writing had started. Something cut the link afterwards, which points to power or the cable rather than boot mode.

Which esptool prints this?

esptool v5, bundled with ESP32 Arduino core 3.3 and later, summarises mid-transfer timeouts as “The chip stopped responding.” Older versions print “Timed out waiting for packet header” or “Packet content transfer stopped” instead.

Laptop on battery or a power bank

USB ports on some laptops limit current on battery. The ESP32 draws a burst when the radio calibrates; plug in the charger or use a desktop.

Board-specific notes

ESP32-CAM: The MB programmer board is sensitive to cable quality. See also brownout detector was triggered.

↑↓ to move · Enter to open