Skip to content
Louis Beaudoin edited this page Oct 19, 2020 · 92 revisions

Welcome to the WLED wiki!

If not noted otherwise, all information applies to the latest release (v0.10.2).

Quick start guide:

1. Connect a WS2812B-compatible RGB(W) led strip to GPIO2 (NodeMCU/Wemos pin D4). If this wire cannot be kept short, use a level shifter/translator. Optionally connect a normally open pushbutton to GPIO0 (NodeMCU/Wemos pin D3) and ground.
Note: Board pin naming varies depending on the manufacturer. Please use the board pinout from the specific board you purchased and use the GPIO PINS to reference this guide. Make sure to connect ESP and LED-strip grounds together.

2. Flash the software to your ESP module! There are two options for this step:

I just want to use WLED! (install release binary)

I want to modify WLED (setup Arduino IDE and compile from source code)
  • Follow a guide to setup your Arduino IDE (I am using version 1.8.9) with the ESP8266 libraries. For current compiles I recommend the latest Arduino core version 2.7.4. If you do not wish to install all libraries manually it is recommended to download the Platform.io extension for VS Code.

  • You will need to install the NeoPixelBus library by Makuna (2.6.0), FastLED, my fork of the ESPAsyncWebServer, ESPAsyncTCP (AsyncTCP for ESP32), ESPAsyncUDP (not for ESP32) and IRRemoteESP8266 (not for ESP32). All other dependencies are included with WLED for convenience.

  • Now compile and flash the software! Make sure you erase everything when you flash! (If your board config does not provide this option, you can Sketch -> Export compiled Binary and upload with any ESP flashing tool.)

If everything worked the first thirty LEDs will light up in bright orange to stimulate courage, friendliness and success!

3. Use a WiFi device to connect to the access point WLED-AP using the default password wled1234. You can also just scan this QR code:

Go to the IP 4.3.2.1 in your browser. You should also be able to use the embedded DNS server and connect to wled.me if in access point mode.

4. Click on the cog icon to edit settings like connecting the module to your home WiFi.

5. Check your router device list for the IP of the WLED device inside your local network. For easier discovery, use the WLED app! Have fun with the software!

Default GPIO Usage:

Device GPIO Notes
LED Data 2
LED Clock 0 When used
Button 0 Not used when using Clock line
IR Remote 4
Relay 12

Compile settings:

ESP8266:

  • Arduino Core v2.6.3
  • Board: NodeMCU 1.0 (ESP-12E module) (or select your ESP board)
  • CPU frequency: 80 MHz
  • Flash size : 4MB (1MB SPIFFS)
  • LwIP variant: v1.4 Higher Bandwidth (try 2 if you experience issues)
  • Upload speed: Any, 921600 recommended

ESP8266-07 (External Antenna):

  • Variants have 512kB or 1MB flash
  • Be sure to use DOUT mode when flashing
  • Flash Size 512kB/1MB (NO SPIFFS)

ESP-07s (External Antenna):

  • Variant have 4MB flash
  • Settings as for NodeMCU or Wemos

ESP32:

  • Arduino Core v1.0.4

Software update procedure:

Method 1: Reflash the new update like a new install (see above).

Method 2: The software has an integrated OTA software update capability. First you have to enable it by typing in the correct OTA passphrase (default: "wledota") in the settings menu. Remove the tick in the checkbox "OTA locked". Then save settings and reboot the ESP. Then you can select "Manual OTA update" in Security settings and upload a release binary.
After you are done, it is recommended to lock the OTA function again. To do so, tick the checkbox again (you can change the passphrase by typing in a new one now). Reboot. If you try to access the update page now, you should see the message "OTA lock active".

Method 3: ArduinoOTA is also supported.

Clone this wiki locally