Work in progress ESP32 port of:
- https://github.com/jasoncoon/esp32-fastled-webserver
- https://github.com/jasoncoon/esp8266-fastled-audio
- https://github.com/jasoncoon/esp32-fastled-webserver
Control addressable LEDs with an ESP32 via a web browser over Wi-Fi.
- DemoReel100 patterns
- MSGEQ7 Integration / Audio
- 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
- AP Mode with Station mode
- for now on AP mode, you need to go to 192.168.1.1/index-ap.htm to load the offline javascript files.
- More Audio Patterns
- Fixed Audio Patterns
- WebSockets for automatically refreshing/syncing web clients
- Bluetooth Port
- Bluetooth and Wifi Port
- AP Mode with Station mode default routing website loading ( index.htm on AP/STA mode)
- Sam's multi-core support
- Freezing Stopped/ Core dumps.
- commenting it out removes these issues.
- issue is in async/Wifi(also exists in Webserver.h) and how fastled and wifi access the core. causes core dumps and other issues.
- Optional
- MSGEQ7 for Audio Support. with a microphone
- Good Starter ESP32_FFT_Audio_LEDs
- Potentiometer
- push button
- MSGEQ7 for Audio Support. with a microphone
Ours uses:
- MSGEQ7_AUDIO_PIN 34
- MSGEQ7_STROBE_PIN 26
- MSGEQ7_RESET_PIN 27
https://github.com/debsahu/ESP32_FFT_Audio_LEDs
https://github.com/debsahu/ESP32_FFT_Audio_LEDs
I used an Esp32 Node32s, the cheap one on amazon.
Adafruit HUZZAH32 – ESP32 Feather Board
or
or
An ESP32 development board of your choice
- 3.3V to 5V Logic Level Shifter (required if LEDs "glitch")
- Octo Level Shifter FeatherWing (tidy level shifter PCB)
Recommended by Adafruit NeoPixel "Best Practices" to help protect LEDs from current onrush:
- FastLED
samguyer/FastLEDuses main FastLED Library- sams branches are normally pushed to FastLED master
- ESP32 Arduino Libraries & Tools
ESP8266/ESP32 WebServerreplaced by Async- ESPAsyncWebServer
- Async TCP Library for ESP32 need both for ESP32
- OneButton.h
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