Skip to content

Install WLED binary

Jez McKean edited this page Nov 21, 2020 · 26 revisions

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 COM3 attribute after write_flash
  • Execute 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_flash again (Note: this will erase all settings stored on the ESP!)
esptool.py erase_flash

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 always recommend to 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). (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 with ESP32.
esp32_bootloader.bin Not a WLED release. To be flashed to a brand new ESP32 before flashing the WLED binary itself.

For QuinLED-Dig boards please use the following:

Binary Name For devices
WLED_0.x.x_ESP8266.bin For QuinLED-Dig-Uno with ESP8266 on there, use this normal binary
WLED_0.x.x_ESP32_ledpinY.bin For QuinLED-Dig-Uno or QuinLED-Dig-Quad with an ESP32 on there use LEDpin16 binary
Clone this wiki locally