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
Chip is ESP32-C3 (revision 3)
Crystal is 40MHz
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:
- Monitor the UART output
Build:Feb 7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0xf (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffff7f
Reset the board from the ESP-PROG (programmatically during upload and physically through the button)
Set the ESP32-C3FH4 into boot mode (programmatically during upload and physically through the button)
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?