Flashing method 1: esptool
- First of all, please follow the steps to install esptool.py here.
- Download the latest release binary file!
- Make sure only one ESP device/microcontroller is connected to your computer! Otherwise you could accidentally overwrite the wrong one. If you know the serial port, you can also add the
-port COM3attribute after
- Exectute this command: ESP8266
esptool.py write_flash 0x0 .\WLED_XXX.bin
ESP32 (you will need to have a bootloader installed)
esptool.py write_flash 0x10000 .\WLED_XXX.bin
If the ESP32 is new, you will need to flash the bootloader first. This is not required if you had an Arduino sketch running on it before. You can find the bootloader file in the assets for the 0.9.1 release.
esptool.py write_flash 0x0 .\esp32_bootloader.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_flashagain (Note: this will erase all settings stored on the ESP!)
Flashing method 2: ESP Home Flasher tool
This is a GUI-based tool recommended by some users as easier to use than esptool. For some ESP32 boards, you might have to press some buttons after uploading:
Hold both buttons down, plug it in, start flashing, then when is tries to detect, let go of the button to the left of the USB as you look at it, then when it detects the board type, let go of the other button.
Flashing method 3: OTA update
You can alternatively use my basic HTTP OTA updater sketch and upload the binary! This requires the Arduino IDE and ESP8266 core installed. If your device is already running a firmware with built-in OTA capability, you can probably use that as well.
What binary should I use?
I would recommend to always use the latest release. Please use the following binary for these boards respectively:
|Binary Name||For devices|
|WLED_0.x.x_ESP8266.bin||NodeMCU, Wemos D1 mini, ESP-12, all ESP8266 with 4Mb flash. Recommended. (The ledpin is GPIO2 in this case.)|
|WLED_0.x.x_ESP32.bin||All ESP32 devices (try this if the WLED-AP doesn't appear after flashing)|
|WLED_0.x.x_ESP8266_1M_ota.bin||ESP-01 (black PCB), most Sonoff devices, ESP8265, all ESP8266 with 1Mb flash. This binary has some interfaces disabled (Alexa, Blynk, Hue sync, Infrared) in order for wireless updates to continue working.|
|WLED_0.x.x_ESP8266_1M_full.bin||ESP-01 (black PCB), most Sonoff devices, ESP8265, all ESP8266 with 1Mb flash. This binary has the full feature set, but wireless updates will not work.|
|WLED_0.x.x_ESP8266_512k.bin||ESP-01 (blue PCB), older Sonoff devices, all ESP8266 with 512k flash. Interfaces (Alexa, Blynk, Hue sync, Infrared) disabled, no OTA. Support will not be possible in future versions.|
|WLED_0.x.x_ESP8266_ledpinY.bin||Custom build for 4Mb flash ESP8266 and WS2812b. LED pin is changed (default is GPIO2). LED pin 4 is useful for the QuinLed Dig Uno board. (This is GPIOY and not DY for the D to GPIO mapping, check your boards spec!)|
|WLED_0.x.x_ESP8266_apa102.bin||Custom build for 4Mb flash ESP8266 and APA102 LEDs (clock pin GPIO0, data GPIO2).|
|WLED_0.x.x_ESP8266_ws2801.bin||Custom build for 4Mb flash ESP8266 and WS2801 LEDs (clock pin GPIO0, data GPIO2).|
|WLED_0.x.x_ESP32_ledpinY.bin||Custom build for ESP32 and WS2812b. LED pin is changed (default is GPIO2). LED pin 16 is useful for the QuinLed Dig Uno board.|
|esp32_bootloader.bin||Not a WLED release. To be flashed to a brand new ESP32 before flashing the WLED binary itself.|