ESP32-C3-QIO binary

Starting with version v16.0.0, there is an ESP32-C3 binary and an ESP32-C3-QIO binary in the downloads on GitHub. Previously there was no QIO binary. I didn’t find any documentation about this. Today I tried installing WLED_16.0.1_ESP32-C3-QIO.bin on my ESP32-C3 that I bought from AliExpress, reasoning that the worst that could happen is a need to recover via USB. It had been running v0.15.4, and I did the upgrade by manually uploading the file via the web interface, disabling validation to enable upgrading despite the name mismatch.

Afterwards, the ESP32-C3 wasn’t on my LAN any more, but it did create a WLED-AP, and I could connect to it. Many times attempts load web pages failed or partially failed, requiring many retries. It complained about a file system error. An attempt to flash WLED_16.0.1_ESP32-C3.bin via the web UI failed due to a flash read error. Then I used esptool via USB and that succeeded. The ESP32-C3 was back on my LAN, and the configuration seemed intact. Though I restored configuration and preset backups just to make sure.

So, I guess the cheap hardware I have isn’t capable of properly communicating with the flash using QIO? I’m posting this to point out the apparent lack of documentation about QIO, document my results, and make sure that I wasn’t supposed to change something else to make it work, like the bootloader.

The issue is mostly the bootloader, I run QIO on many C3 and all of them work in this mode. I am not sure which bootloader the web installer currentl uses but in the past it used a DIO version, if I use that, updating OTA to the QIO firmware leads to a bootloop.

Using QIO the firmware runs a bit faster but it is not too significant, unless you have speed issues it is not worth changing to QIO.

I certainly wasn’t getting a boot loop. It seems reading of code in flash worked perfectly, but access to data in flash was unreliable. Nevertheless, I guess I should make another attempt: the QIO binary with a QIO bootloader. Where can I find the correct bootloader?

just use https://install.wled.me/

I don’t like depending on a web installer. That means it’s not possible to replicate an install, because I don’t have the files that were written to the chip, and the web installer could change at any time. Also, I had to boot into Windows because Chrome in Linux had problems using the serial port.

But, QIO finally worked. It didn’t work when installed manually because only the 8M flash size bootloaders are available, and the web installer patches bootloaders to the correct flash size. This is documented at WLED-WebInstaller/bin/boot/README.md at master · wled/WLED-WebInstaller · GitHub