Page 1 of 1

Flash Boot problems with ESP32-C3 (External Flash)

Posted: Tue Dec 10, 2024 12:17 pm
by sini6a
Hello everyone!

I have designed a custom board with external flash memory (W25Q128JVSIQ from Winbond) with each pin directly connected from microcontroller to the flash chip. I have used a 100nF capacitor on the power rail and while the chip is recognized and flashed successfully, I always get error when trying to boot from flash.

Image

This is the message I get after flashing and I have to manually reset the board:

Image

And this is how the chip is configured:

Image
Note: I have also tried DIO, QIO, QOUT.

I tried fetching the eFuses parameters and I was wondering if this could be the issue for not booting from the flash:

Image

Do I need to manually change the fuses in order for the chip to be recognized? I have tried deleting the whole flash and reflashing but this does not solve the issue. Any help is greatly appriciated.

The chip is with internal 4MB memory: ESP32-C3FH4

Re: Flash Boot problems with ESP32-C3 (External Flash)

Posted: Thu Dec 12, 2024 9:01 am
by sini6a
For everyone experiencing the same issues, I managed to fix it with removing the external flash and using the internal 4MB in my case.

I think that writing goes successfully but the problem occurs on booting the device. It checks the checksum of the internal memory and the problem occurs.

It would be interesting to know if someone has used the same chip with an external flash.

Re: Flash Boot problems with ESP32-C3 (External Flash)

Posted: Thu Dec 12, 2024 2:39 pm
by qheinal
You cannot use the same chip select if using external flash. And i dont think they recommend using the same pins as internal flash. I have a bunch of c3 devkits that dont have internal flash and use external. But the designer didnt connect Hold and Wp to the c3. They simply connected it to 3.3v. While it is designed to work like that, it will limit the spi mode & speed to DIO. Using QIO spi mode on boards connected in DIO configuration will cause a similar problem to the boot failure you were experiencing.