ESP32-C3 boot mode not what I expect...

sircastor
Posts: 7
Joined: Thu Nov 03, 2022 3:46 pm

ESP32-C3 boot mode not what I expect...

Postby sircastor » Fri Dec 02, 2022 12:23 am

I have been trying to get my ESP32-C3 (In this case, an ESP32-C3-MINI-1) into a state where I can program it. I have unfortunately been unsuccessful. I have made a custom board for the ESP32-C3-Mini-1, and connecting it to a Serial port, I can get the device into seemingly one of two boot states:

If I pull GPIO9 LOW when resetting the chip, it reports the following:

Code: Select all

ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0x1 (POWERON),boot:0x1 (SPI_DOWNLOAD_BOOT)
wait spi download
I believe the correct mode to program on a UART connection (over RXD and TXD pins) is mode 0x4, as seen when I reset my ESP32-C3-DevKitM-1:

Code: Select all

ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0x1 (POWERON),boot:0x4 (DOWNLOAD(USB/UART0/1))
waiting for download
I assume that I must be doing something wrong, as I can't manage to get my device into a DOWNLOAD(USB/UART0/1) state. And I SPI_DOWNLOAD_BOOT is not sufficient. Here's my setup:
GPIO8 is Pulled HIGH with a 10k pullup resistor
GPIO9 is connected to a button, so I can switch it.
GPIO2 is pulled HIGH (connected to 3v3)
I feel confident the board (and therefore the chip) is getting plenty of power

I haven't found any other documents that suggest any other part of my circuit would cause some other boot behavior. These modules were purchased from Mouser, and have not ever been successfully programmed. Booting into SPI mode results in a near-constant stream of: invalid header: 0xffffffff interrupted (very briefly) every once-in-a-while with

Code: Select all

Build:Feb  7 2021
rst:0x10 (RTCWDT_RTC_RST),boot:0xd (SPI_FAST_FLASH_BOOT)
I read in another post this behavior may be because the chip doesn't have a second stage bootloader on it yet.

Any help or suggestions are welcome.

ESP_LJH
Posts: 387
Joined: Tue May 18, 2021 9:21 am

Re: ESP32-C3 boot mode not what I expect...

Postby ESP_LJH » Fri Dec 02, 2022 4:37 am

When you do not set GPIO9 to 0, boot number is d, right? So it is confusing, in this mode, GPIO8 is recognised as high, why when you pull GPIO9 to low, GPIO8 is low? Could you check if connection of pullup at GPIO8 is soldered well? Maybe you could resolder? And if your power ramp is very slow?

sircastor
Posts: 7
Joined: Thu Nov 03, 2022 3:46 pm

Re: ESP32-C3 boot mode not what I expect...

Postby sircastor » Fri Dec 02, 2022 4:55 am

ESP_LJH wrote: When you do not set GPIO9 to 0, boot number is d, right? So it is confusing, in this mode, GPIO8 is recognised as high, why when you pull GPIO9 to low, GPIO8 is low? Could you check if connection of pullup at GPIO8 is soldered well? Maybe you could resolder? And if your power ramp is very slow?
This was exactly it. I saw another post that asked about bridged pins so I took a look. GPIO8 was always what I expected it to be when I measured it, but it didn't occur to me to check whether or not GPIO8 and GPIO9 had bridged under the module, and of course both affect the boot mode. Fortunately I had a hot-air rework station, as I don't think I would have been able to fix this with an iron (though maybe a lot of flux and the iron along the edge of the module?)

Thank you for the recommendation. It was spot-on!

Who is online

Users browsing this forum: Bing [Bot], Google [Bot], MicroController and 56 guests