Esp-prog fails to program "transfer stopped (received 8 bytes)"

Background:

Just recently acquired an ESP-PROG board to program some custom boards I had made and I haven’t been able to successfully program them. I get the error:

Serial port /dev/cu.usbserial-1101
Connecting…
Chip is ESP32-C3 (revision 3)
Features: Wi-Fi
Crystal is 40MHz
MAC: 7c:df:a1:5a:d5:a4
Uploading stub…
Running stub…
Stub running…
Configuring flash size…
Flash will be erased from 0x00000000 to 0x00005fff…
Flash will be erased from 0x00008000 to 0x00008fff…
Flash will be erased from 0x0000d000 to 0x0000efff…
Flash will be erased from 0x00010000 to 0x00038fff…
Flash params set to 0x022f
Compressed 23104 bytes to 12703…

A fatal error occurred: Packet content transfer stopped (received 8 bytes)
*** [upload] Error 2

I’m not using the JTAG functionality of the ESP-PROG to flash the ESP32-C3FH4, and am instead using UART. I have confirmed that I am using the UART functionality of the ESP-PROG as well. I am completely able to:

  1. Monitor the UART output

ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0xf (SPI_FAST_FLASH_BOOT)
Saved PC:0x4004d1f8
invalid header: 0xffffff7f

  1. Reset the board from the ESP-PROG (programmatically during upload and physically through the button)

  2. Set the ESP32-C3FH4 into boot mode (programmatically during upload and physically through the button)

ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x1 (POWERON),boot:0x7 (DOWNLOAD(USB/UART0/1))
waiting for download

To my eye the hardware connections also look correct, but as much as I’ve been looking at them I wouldn’t be surprised if I misread a pin somehow. This is how the ESP32-C3FH4 is wired up.

I’ve tried to program the board using both a windows machine as well as a Mac and received the same failure on both machines, so it seems machine agnostic. Similarly, I’ve tried flashing the board using platformIO as well as Espressif’s IDF.py flash and received the same error.

For those curious: here’s there platform.ini file:

[env:esp32-c3-devkitm-1]
platform = espressif32
board = esp32-c3-devkitm-1
framework = espidf
monitor_speed = 115200
upload_speed = 115200
upload_port = /dev/cu.usbserial-1101 #/dev/cu.usbserial-101
monitor_port = /dev/cu.usbserial-1101 #/dev/cu.usbserial-101
board_build.partitions = partition_custom.csv

To reiterate: I’m not using JTAG to flash the board, so the “upload_protocal” and “debug_tool” lines are left out of the platform.ini to use UART.

So what am I doing wrong or what do I need to do to be able to flash the ESP32-C3FH4 using the esp-prog?

Hi I experience the same error using ESP Flasher (Tasmota) and an ESP32-cam board. Have you found a solution for your problem?