Skip to content

vicelikedust/esp32-fastled-webserver

 
 

Repository files navigation

ESP32 FastLED Web Server

Work in progress ESP32 port of https://github.com/jasoncoon/esp8266-fastled-webserver

Control addressable LEDs with an ESP32 via a web browser over Wi-Fi.

Features

Currently Working:

  • DemoReel100 patterns
  • Sam's multi-core support
  • Static web app file serving from SPIFFS
  • Ability to adjust these settings via the HTTP REST API:
    • power on/off
    • brightness
    • pattern
    • autoplay on/off
    • autoplay duration
    • speed
    • palette
    • auto palette cycling
    • palette duration
    • solid color
    • twinkle speed/density
    • fire cooling/sparking
  • Setting storage in EEPROM

Currently Lacking:

  • WebSockets for automatically refreshing/syncing web clients

Requirements

Hardware

ESP32 Development Board

Adafruit HUZZAH32 – ESP32 Feather Board

Adafruit HUZZAH32 – ESP32 Feather Board

or

WEMOS LOLIN D32

or

An ESP32 development board of your choice

Addressable LED strip

Adafruit NeoPixel Ring

Adafruit NeoPixel Ring

Other hardware:

Recommended by Adafruit NeoPixel "Best Practices" to help protect LEDs from current onrush:

Software

Libraries

SPIFFS fix

To fix an issue with serving files from SPIFFS over the web server, I used Yves BAZIN's fix here: https://github.com/hpwit/lib

Copy libspiffs.a to the ESP32 tools directory: \Documents\Arduino\hardware\espressif\esp32\tools\sdk\lib\libspiffs.a

And copy esp32fs.jar to the Arduino tools directory: \Documents\Arduino\tools\ESP32FS\tool\esp32fs.jar