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 “This chip is ESP32-S3 not ESP32. Wrong --chip argument?”

esptool reached a different ESP chip than the board you selected. Pick the board that matches the chip printed on the module and upload again.

ESP32ESP32-S3ESP32-C3ESP32-C6ESP8266Updated 3 Nov 2026

Community draft — report a mistake

What you see

OutputOutput
esptool.py v4.8.1
Serial port COM7
Connecting....
Detecting chip type... ESP32-S3
Chip is ESP32-S3 (QFN56) (revision v0.2)

A fatal error occurred: This chip is ESP32-S3 not ESP32. Wrong --chip argument?
Failed uploading: uploading error: exit status 2

esptool asks the chip who it is before writing anything. This error means the answer did not match the board selected in the IDE. The code was built for one ESP family and the USB cable leads to another.

It is never a hardware fault. In India the usual story is a board bought as “ESP32” that turns out to be an ESP32-C3 or ESP32-S3. Select the matching board, compile again and the upload goes through.

Quick fix — try in order

  1. 1

    Read the chip name in the error, then select that board

    The first name is the real chip. Tools → Board → esp32 → pick a board of that family: “ESP32S3 Dev Module” for ESP32-S3, “ESP32C3 Dev Module” for ESP32-C3, “ESP32 Dev Module” for the classic ESP32.

  2. 2

    Check the port is the board you think it is

    With two boards plugged in, it is easy to upload to the wrong COM port. Unplug one, or unplug and replug and watch which port disappears from Tools → Port.

  3. 3

    ESP8266 board? Install the esp8266 core

    If the error says the chip is ESP8266, you selected an ESP32 board. Add the ESP8266 boards URL in Preferences, install “esp8266 by ESP8266 Community” and select NodeMCU 1.0 or LOLIN(WEMOS) D1 mini.

  4. 4

    Read the metal can, not the listing

    Online listings often say “ESP32” for an ESP32-C3 or S3 board. The laser marking on the module (ESP32-WROOM-32, ESP32-S3-WROOM-1, ESP32-C3-MINI-1) is the truth.

Why it happens

Why does esptool know the chip but still refuse?

The firmware was compiled for one chip family. An ESP32 image cannot run on an ESP32-S3 (different CPU and memory map), so esptool stops instead of writing something that would never boot.

Newer wording of the same error

esptool v5 (bundled with recent ESP32 cores) prints “This chip is ESP32-S3, not ESP32. Wrong chip argument?” — same cause, same fix.

The names look almost the same

ESP32-S2 and ESP32-S3 are different families, and so are ESP32-C3 and ESP32-C6. Match the exact suffix.

Board-specific notes

ESP32-C3 SuperMini: Often sold as “ESP32 mini”. Select ESP32C3 Dev Module (or the SuperMini entry if your core has one) and enable USB CDC On Boot. See the C3 SuperMini page.

ESP32-S3 N16R8 boards: Select ESP32S3 Dev Module, then Flash Size 16MB and PSRAM “OPI PSRAM”, otherwise the upload works but the board boot-loops.

↑↓ to move · Enter to open