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 “Timed out waiting for packet content” on ESP32 / ESP8266

The ESP sent the start of a reply but the rest never arrived. Typical with high upload speeds, weak cables and boards that brown out during flashing.

ESP32ESP8266ESP32-CAMWemos D1 miniUpdated 3 Nov 2026

Community draft — report a mistake

What you see

OutputOutput
esptool.py v3.0
Serial port COM4
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 48:3f:da:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...

A fatal error occurred: Timed out waiting for packet content
esptool.FatalError: Timed out waiting for packet content
Failed uploading: uploading error: exit status 1

esptool reads each reply from the chip as a framed packet. Here the frame started but the remaining bytes did not come before the timeout. The link carried the first few bytes and then stalled.

At high baud rates that is usually signal quality: cable, driver or USB chip. Drop to 115200, change the cable, and check the board is not browning out.

Quick fix — try in order

  1. 1

    Set Upload Speed to 115200

    Tools → Upload Speed. The error nearly always follows “Changing baud rate to 921600”.

  2. 2

    Swap to a short data cable

    Long charge-style cables are the most common cause in practice.

  3. 3

    Power the board on its own during upload

    Disconnect relays, displays and sensors fed from 5 V or 3.3 V. On an ESP-01 use a 3.3 V regulator that can give at least 300 mA, not the adapter's 3.3 V pin.

  4. 4

    Update the USB-serial driver

    Old CH340 drivers on Windows drop bytes at 921600. Install the current WCH driver.

Why it happens

Packet header vs packet content

“Waiting for packet header” means no reply started at all. “Packet content” means a reply started and then stalled, so the chip was alive and the link failed partway. See the header version for the other case.

Only on one PC

Differences in USB controllers and drivers matter at 921600. If another laptop works with the same board and cable, update or reinstall the driver on the failing one.

Board-specific notes

ESP8266 / D1 mini: The ESP8266 core still uses the older esptool v3 output shown above. 115200 or 460800 is reliable on almost every clone.

Drivers — official sources only

↑↓ to move · Enter to open