Skip to content

Cannot flash ESP32S3-DevKitC-1 over TX0/RX0 with ESP-Prog, only Prolific USB-TTL (ESPTOOL-1203) #1134

@zfields

Description

@zfields

Operating System

Ubuntu 24.04

Esptool Version

v4.8.1 - v5.1.0

Python Version

Python 3.12.3

Chip Description

ESP32-S3-WROOM-1

Device Description

ESP32S3-DevKitC-1, connected to a USB to TTL, powered via USB (not UART) connector.
Both the DevKit and the USB to TTL connected directly to laptop's USB.

Hardware Configuration

[SUCCESS] Prolific USB-TTL connected to (GND/TX0/RX0)
Image

[FAIL] ESP-Prog connected to (GND/TX0/RX0)
Image

[FAIL] FTDI USB-TTL connected to (GND/TX0/RX0)
Image

How is Esptool Run

Arduino esp32 BSP v3.3.2

Full Esptool Command Line that Was Run

/home/zak/.arduino15/packages/esp32/tools/esptool_py/5.1.0/esptool --chip esp32s3 elf2image --flash-mode dio --flash-freq 80m --flash-size 4MB --elf-sha256-offset 0xb0 -o /home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/Blink.ino.bin /home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/Blink.ino.elf

Esptool Output

esptool v5.1.0
Creating ESP32S3 image...
Merged 2 ELF sections.
Successfully created ESP32S3 image.
python3 /home/zak/.arduino15/packages/esp32/hardware/esp32/3.3.2/tools/gen_esp32part.py -q /home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/partitions.csv /home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/Blink.ino.partitions.bin
/usr/bin/env bash -c "[ ! -d \"/home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8\"/libraries/Insights ] || python3 \"/home/zak/.arduino15/packages/esp32/hardware/esp32/3.3.2\"/tools/gen_insights_package.py /home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8 Blink.ino \"/tmp/.arduinoIDE-unsaved2025919-376587-12vls2l.vog5/Blink\""
/usr/bin/env bash -c "[ ! -d \"/home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8\"/libraries/ESP_SR ] || [ ! -f \"/home/zak/.arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-07e9bf49-v1/esp32s3\"/esp_sr/srmodels.bin ] || cp -f \"/home/zak/.arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-07e9bf49-v1/esp32s3\"/esp_sr/srmodels.bin \"/home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8\"/srmodels.bin"
/home/zak/.arduino15/packages/esp32/tools/esptool_py/5.1.0/esptool --chip esp32s3 merge-bin -o /home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/Blink.ino.merged.bin --pad-to-size 4MB --flash-mode keep --flash-freq keep --flash-size keep 0x0 /home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/Blink.ino.bootloader.bin 0x8000 /home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/Blink.ino.partitions.bin 0xe000 /home/zak/.arduino15/packages/esp32/hardware/esp32/3.3.2/tools/partitions/boot_app0.bin 0x10000 /home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/Blink.ino.bin
esptool v5.1.0
Wrote 0x400000 bytes to file '/home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/Blink.ino.merged.bin', ready to flash to offset 0x0.
/home/zak/.arduino15/packages/esp32/tools/esp-x32/2507/bin/xtensa-esp32s3-elf-size -A /home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/Blink.ino.elf
Sketch uses 302323 bytes (23%) of program storage space. Maximum is 1310720 bytes.
Global variables use 20648 bytes (6%) of dynamic memory, leaving 307032 bytes for local variables. Maximum is 327680 bytes.
"/home/zak/.arduino15/packages/esp32/tools/esptool_py/5.1.0/esptool" --chip esp32s3 --port "/dev/ttyUSB0" --baud 921600  --before default-reset --after hard-reset write-flash  -z --flash-mode keep --flash-freq keep --flash-size keep 0x0 "/home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/Blink.ino.bootloader.bin" 0x8000 "/home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/Blink.ino.partitions.bin" 0xe000 "/home/zak/.arduino15/packages/esp32/hardware/esp32/3.3.2/tools/partitions/boot_app0.bin" 0x10000 "/home/zak/.cache/arduino/sketches/79DD62760C5463CDB84482C524C384A8/Blink.ino.bin" 
esptool v5.1.0
Serial port /dev/ttyUSB0:
Connecting......................................
A fatal error occurred: Failed to connect to ESP32-S3: No serial data received.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html

Failed uploading: uploading error: exit status 2

More Information

Looking at an oscilloscope captures (attached), it appears the FTDI and ESP-Prog are unable to drive the UART close enough to GND to be recognized by the DevKit.

Alternatively, the Prolific USB to TTL is able to drive the line to 1V, which seems to cross the dead zone just enough to work.


This has been tested on multiple laptops, multiple DevKits, multiple major versions of the Arduino IDE (v1 and v2), multiple major versions of esptool (both v4 and v5).


This has been tested with and without a USB isolator inline with the FTDI (it makes no difference).

Other Steps to Reproduce

  • Power the DevKit with the USB usb port.
  • Connect to GND, TX0, and RX0.
  • Enter the bootloader by manually pressing BOOT, pressing RESET, releasing RESET, and releasing BOOT.
  • Flash "Blink" using Arduino IDE.

I Have Read the Troubleshooting Guide

  • I confirm I have read the troubleshooting guide.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions