Instructions for installing WLED on ESP32-C3#300
Conversation
Added instructions specifically for ESP32-C3, as the procedure for ESP32 does not work.
|
thanks, but why duplicate the whole text block just to add a different link to the bootloader? I think a better way would be to just add a list on top with links to all bootloaders (maybe exempt the S3 as that booloader is highly hardware specific). I am also not sure the ESP32 instructions hold for WROVER. |
|
You're right. I started to add a section for 0.16 alpha of WLED, which requires 2 additional files to be flashed and then found out that for the current release only the right bootloader was needed. Edit: TBF, I just saw that for S2 and S3 theres an additional partitions file that needs to be flashed beforehand. I'm not even sure if it is necessary atm for the C3, as with version 0.16 there is a partitions file for C3 (along with a 4th file (bootapp)) |
|
|
||
| | Model | Bootloader | | ||
| |---|---| | ||
| ESP32 | [Bootloader Version 4](https://github.com/Aircoookie/WLED/releases/download/v0.13.1/esp32_bootloader_v4.bin) |
There was a problem hiding this comment.
as we are modernizing the part - its time to remove the old "aircoookie esp32 bootloader", and replace with a URL to the file from WebInstaller.
| 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) |
There was a problem hiding this comment.
@lost-hope I think one bootloader is not enough for S3, correct?
There should be different bootloaders for the different flash access modes (dio, dio_qspi, qio, qio_qspi, qio_opi, opi_opi).
There was a problem hiding this comment.
C3 is the same, a DIO bootloader will bootloop on a QIO firmware (it might work the other way around, not sure)
Edit: the bootloader from the installer for C3 is DIO, that is why an OTA to QIO V 0.16 will bootloop and auto-revert.
|
|
||
| ```bash | ||
| esptool.py write-flash 0x0 ./esp32_bootloader_v4.bin | ||
| esptool.py write-flash 0x0 ./esp32_bootloader_xx.bin |
There was a problem hiding this comment.
sorry not correct either. Bootloader offsets are different for each board, see wled/WLED#5064, and https://github.com/wled/WLED-WebInstaller/blob/master/bin/nightly/manifest.json .
Edit: It seems that the "aircoookie V4" bootloader is a special case (combined bootloader), so its flashed at 0x0 although the bootloader for classic esp32 is located at 0x1000
To clarify the confusion:
|
WalkthroughDocumentation update for ESP32 flashing instructions clarifies bootloader requirements by replacing generic guidance with a variant-specific table containing download URLs for ESP32 models (v4, C3 v2, S2, S3) and updating the example command placeholder accordingly. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 0/1 reviews remaining, refill in 60 minutes.Comment |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/basics/install-binary.md (1)
39-53:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftESP32-C3/S2/S3 flashing steps likely incomplete (partitions/boot_app0 not mentioned).
The doc currently says “install a bootloader” (Lines 39-47) and then instructs flashing:
- bootloader at offset
0x0(Line 52)- firmware at
0x10000(Line 52)But for ESP32-C3/S2/S3, flashing may also require partitions.bin and boot_app0.bin unless the downloaded “bootloader” is a combined bootloader that already bundles them (this was discussed in the PR thread history you included).
As written, users following this section may end up with a device that doesn’t boot / reverts / fails to mount storage for variants that need those extra files.
Please add a short conditional note like:
- “If your download is a combined bootloader, flash bootloader + firmware.”
- “If it’s not combined, also flash partitions.bin (typically at
0x8000) and boot_app0 (offset varies by chip/format) before the firmware.”
And ideally clarify which of the provided URLs are combined vs not.If you want, I can draft the exact wording once you confirm which of those four URLs correspond to combined images.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/basics/install-binary.md` around lines 39 - 53, Update the ESP32 bootloader section to warn about combined vs split images and include flashing offsets for missing blobs: state that esp32_bootloader_v4.bin, esp32-c3_bootloader_v2.bin, bootloader_s2.bin and bootloader_s3.bin may be either combined or split; give two short conditional instructions—“If the downloaded bootloader is a combined image, flash only bootloader at 0x0 and firmware at 0x10000” and “If it is not combined, also flash partitions.bin (typically at 0x8000) and boot_app0.bin (chip/format-dependent) before flashing the firmware” —and mark which of the four listed URLs are combined vs split (or add a TODO note to confirm and link to the correct combined/split artifacts).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@docs/basics/install-binary.md`:
- Around line 39-53: Update the ESP32 bootloader section to warn about combined
vs split images and include flashing offsets for missing blobs: state that
esp32_bootloader_v4.bin, esp32-c3_bootloader_v2.bin, bootloader_s2.bin and
bootloader_s3.bin may be either combined or split; give two short conditional
instructions—“If the downloaded bootloader is a combined image, flash only
bootloader at 0x0 and firmware at 0x10000” and “If it is not combined, also
flash partitions.bin (typically at 0x8000) and boot_app0.bin
(chip/format-dependent) before flashing the firmware” —and mark which of the
four listed URLs are combined vs split (or add a TODO note to confirm and link
to the correct combined/split artifacts).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 3450df24-bf12-4fb1-8975-260a93208243
📒 Files selected for processing (1)
docs/basics/install-binary.md
I agree this should be added. |
Added instructions specifically for ESP32-C3, as the procedure for ESP32 does not work.
Summary by CodeRabbit