From 7caa8b4555de15daf8ce0e37d3e3c643438a3349 Mon Sep 17 00:00:00 2001 From: Christopher Bormann <6575546+chrimbo@users.noreply.github.com> Date: Wed, 14 Jan 2026 09:05:57 +0100 Subject: [PATCH 1/2] Instructions for installing WLED on ESP32-C3 Added instructions specifically for ESP32-C3, as the procedure for ESP32 does not work. --- docs/basics/install-binary.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/docs/basics/install-binary.md b/docs/basics/install-binary.md index e25d87d20..888886912 100644 --- a/docs/basics/install-binary.md +++ b/docs/basics/install-binary.md @@ -48,7 +48,7 @@ esptool.py write-flash 0x10000 ./WLED_XXX.bin When esptool.py says `Connecting...`, some ESP32 boards require you to hold the boot button (to the right of the USB port) for a few seconds -- If you experience issues, run this command before trying `write_flash` again (Note: this will erase all settings stored on the ESP!) +- If you experience issues, run this command before trying `write-flash` again (Note: this will erase all settings stored on the ESP!) ```bash esptool.py erase-flash @@ -56,6 +56,28 @@ esptool.py erase-flash If you have a MagicHome controller, here is a [good video tutorial](https://www.youtube.com/watch?v=qgBAU39v07k) on how to flash it. +#### ESP32-C3 + +Firstly, flash the version 2 bootloader file, which you can find [here](https://github.com/wled/WLED-WebInstaller/raw/refs/heads/master/bin/Release/release_0_15_3/esp32-c3_bootloader_v2.bin). +This step only has to be done once, to update afterwards the bootloader does not have to be re-installed. + +```bash +esptool.py write-flash 0x0 ./esp32-c3_bootloader_v2.bin +``` + +Now you can flash the actual firmware binary. Keep in mind the bootloader needs to have a flash offset of 0, but the firmware 0x10000. + +```bash +esptool.py write-flash 0x10000 ./WLED_XXX.bin +``` + +- If you experience issues, run this command before trying `write-flash` again (Note: this will erase all settings stored on the ESP!) + +```bash +esptool.py erase-flash +``` + + ### ESP8266 Flashing method 3: [ESP Home Flasher](https://github.com/esphome/esphome-flasher/releases) tool !!! warning From 711d79bc8d4e01eed49725655d0d2cba2fc1a744 Mon Sep 17 00:00:00 2001 From: Christopher Bormann <6575546+chrimbo@users.noreply.github.com> Date: Wed, 14 Jan 2026 09:44:02 +0100 Subject: [PATCH 2/2] Add table for different ESP32 bootloaders --- docs/basics/install-binary.md | 33 +++++++++------------------------ 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/docs/basics/install-binary.md b/docs/basics/install-binary.md index 888886912..2b6537985 100644 --- a/docs/basics/install-binary.md +++ b/docs/basics/install-binary.md @@ -33,11 +33,17 @@ esptool.py write-flash 0x0 ./WLED_XXX.bin #### ESP32 -Firstly, flash the version 4 bootloader file, which you can find [here](https://github.com/Aircoookie/WLED/releases/download/v0.13.1/esp32_bootloader_v4.bin). -This step only has to be done once, to update afterwards the bootloader does not have to be re-installed. +Unlike the ESP8266, the ESP32 requires a bootloader to be installed before WLED can be flashed. The exact bootloader depends on the specific ESP32 variant being used. Below you will find a list of bootloader links for the supported ESP32 models. + +| Model | Bootloader | +|---|---| +ESP32 | [Bootloader Version 4](https://github.com/Aircoookie/WLED/releases/download/v0.13.1/esp32_bootloader_v4.bin) +ESP32-C3 | [Bootloader Version 2](https://github.com/wled/WLED-WebInstaller/raw/refs/heads/master/bin/Release/release_0_15_3/esp32-c3_bootloader_v2.bin) +ESP32-S2 | [Bootloader S2](https://github.com/wled/WLED-WebInstaller/raw/refs/heads/master/bin/Release/release_0_15_3/bootloader_s2.bin) +ESP32-S3 | [Booloader S3](https://github.com/wled/WLED-WebInstaller/raw/refs/heads/master/bin/Release/release_0_15_3/bootloader_s3.bin) ```bash -esptool.py write-flash 0x0 ./esp32_bootloader_v4.bin +esptool.py write-flash 0x0 ./esp32_bootloader_xx.bin ``` Now you can flash the actual firmware binary. Keep in mind the bootloader needs to have a flash offset of 0, but the firmware 0x10000. @@ -56,27 +62,6 @@ esptool.py erase-flash If you have a MagicHome controller, here is a [good video tutorial](https://www.youtube.com/watch?v=qgBAU39v07k) on how to flash it. -#### ESP32-C3 - -Firstly, flash the version 2 bootloader file, which you can find [here](https://github.com/wled/WLED-WebInstaller/raw/refs/heads/master/bin/Release/release_0_15_3/esp32-c3_bootloader_v2.bin). -This step only has to be done once, to update afterwards the bootloader does not have to be re-installed. - -```bash -esptool.py write-flash 0x0 ./esp32-c3_bootloader_v2.bin -``` - -Now you can flash the actual firmware binary. Keep in mind the bootloader needs to have a flash offset of 0, but the firmware 0x10000. - -```bash -esptool.py write-flash 0x10000 ./WLED_XXX.bin -``` - -- If you experience issues, run this command before trying `write-flash` again (Note: this will erase all settings stored on the ESP!) - -```bash -esptool.py erase-flash -``` - ### ESP8266 Flashing method 3: [ESP Home Flasher](https://github.com/esphome/esphome-flasher/releases) tool