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 “Failed to start stub flasher. There was no response.”

esptool loaded its helper into ESP32 RAM but it never said hello. Usually a reset during the hand-over, an unstable supply, or a counterfeit/odd module.

ESP32ESP32-S3ESP32-C3ESP32-CAMUpdated 3 Nov 2026

Community draft — report a mistake

What you see

OutputOutput
esptool v5.1.0
Connected to ESP32 on COM6:
Chip type:          ESP32-D0WD (revision v1.0)
Features:           Wi-Fi, BT, Dual Core, 240MHz, Coding Scheme None
Crystal frequency:  40MHz
MAC:                24:6f:28:xx:xx:xx

Uploading stub flasher...
Running stub flasher...

A fatal error occurred: Failed to start stub flasher. There was no response.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html
Failed uploading: uploading error: exit status 2

esptool talks to the chip’s ROM only long enough to load a faster helper, the stub flasher, into RAM and start it. This error means the stub was sent and started, but its greeting never came back.

The chip most likely reset at that moment, from a power dip or the reset lines being toggled. Fix power first, then upload with BOOT held by hand.

Quick fix — try in order

  1. 1

    Fix the supply first

    The stub starts the CPU at full speed; a weak supply resets the chip right there. Use a good cable, a rear USB port and nothing else powered from the board.

  2. 2

    Enter download mode by hand

    Hold BOOT, tap EN/RESET, release BOOT, then upload. This rules out a bad auto-reset circuit toggling EN during the hand-over.

  3. 3

    Lower Upload Speed to 115200

    A slow, clean link gives the stub the best chance.

  4. 4

    Check the crystal setting on bare modules

    Some third-party modules use a 26 MHz crystal. Their boot log looks garbled at 115200; esptool usually auto-detects it, but custom board definitions can force 40 MHz.

Why it happens

What is the stub flasher?

A small program esptool copies into the chip's RAM to speed up flashing. After starting it, esptool waits for the word “OHAI”. If nothing comes back, the stub crashed or the chip reset.

Older wording

esptool v4 prints “Failed to start stub. Unexpected response: …” for a garbled reply. The causes are the same.

Very old revision v0/v1 chips

First-revision ESP32 chips on old boards are more sensitive to supply noise. Adding a 10 µF capacitor across 3V3 and GND near the module helps.

Board-specific notes

ESP32-CAM: Upload with a solid 5 V supply. The camera module's inrush can reset the ESP32 exactly as the stub starts.

↑↓ to move · Enter to open