ESP32-C3 matrix board boot loop

Hi! I got one of these little RGB matrix boards: GitHub - 01Space/ESP32-C3FH4-RGB

Couldn’t get the Arduino bootloaders that have been posted here - it would just crash endlessly on boot. So I flashed the blink sketch on it from the Arduino IDE (which worked OK.)

Once I did that, though, trying to flash WLED for ESP32-C3 on it results in a boot loop that looks like:

ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0x3 (RTC_SW_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x40048b82
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd5820,len:0x458
load:0x403cc710,len:0x814
load:0x403ce710,len:0x2880
entry 0x403cc710

Any thoughts on how to resolve this loop?

Note: An ESP32-C3 Super Mini exhibits the same behavior. I noted the comment on the hardware page after I posted this, about some variants of the ESP32-C3 needing custom compilation. I’m happy to try that, but I’m not quite sure exactly what needs to be built. Any suggestions?

edit: Ok, this gets weirder: I was flashing these with esptool but decided I’d try flashing one with my Windows PC & Chrome/web flasher and it worked fine!

I can share exactly what I was doing with esptool, but is there any particular reason why flashing these with esptool wouldn’t work where the web flasher does?

esptool always works except if you screw up.
So it is your procedure that has flaws.

You need:

  • correct binaries (bootloader, partition map, app0, firmware)
  • correct offset for each of the above (see Espressif documentation)

Correct binaries depend on:

  • flash mode supported (DIO, DOUT, QIO, QOUT, etc)
  • flash size (2M, 4M, 8M, 16M)
  • PSRAM support (none, DIO, QIO, OPI, etc)