-
Notifications
You must be signed in to change notification settings - Fork 131
Installing and Compiling
IMPORTANT: Before attempting to compile this fork of WLED, make sure you can compile the original WLED - instructions are here. If you are unable to compile WLED, please consider flashing your device with binaries instead.
If you managed to compile original WLED, test your new skills and compile the soundreactive fork of WLED.
Download the CH340 drivers at https://www.wemos.cc/en/latest/ch340_driver.html
The Sound Reactive WLED binaries for ESP32 and Wemos D1 Mini are located here.
SR WLED releases are also included in this web-based installer: https://wled-install.github.io
You can find some unofficial SR WLED binaries, including intermediate development builds for ESP32, here:
- https://github.com/srg74/WLED-wemos-shield/tree/master/resources/Firmware/Sound_reactive
- https://github.com/wled-install/wled-install.github.io
Please keep in mind that these sites are not maintained by the SR WLED team. You may find old outdated binaries, or binaries that might not work on generic ESP32 hardware. So please compare build number and dates, and read descriptions before installing one of these.
Warning: We had to change the partition size on the ESP32 in order to 'fit' all the new features. This means that the 'old way' of upgrading/flashing, no longer work unfortunately. You cannot use ESPHome Flasher, and you cannot use OTA from a build prior to b5.
-
Download esptool.
-
Download the ESP32 bootloader, such as https://github.com/Aircoookie/WLED/releases/download/v0.13.1/esp32_bootloader_v4.bin
-
Download the sound reactive binary, such as https://github.com/atuline/WLED/releases
-
Plug the ESP32 board into your computer.
-
Optionally determine which Com port it uses. You could use NodeMCU-PyFlasher to do this, but don't flash the binary with it.
-
Open a Command prompt on your computer.
-
Assuming you copied esptool and both binaries to the same directory, you could clear the contents of the ESP32 with:
esptool.exe erase_flash
-
Then burn the bootloader with:
esptool.exe write_flash 0x0 esp32_bootloader_v4.bin
-
Once complete, you can now burn the sound reactive binary with:
esptool write_flash 0x10000 soundReactive_WLED_0.13.X-bY_ESP32dev.bin
-
You can optionally add the port, such as '-p COM6'.
-
In addition, if this is the first time you've used this version, you need to go to the "Security & Updates" settings page and tick the "Factory reset" box, then select "Save & Reboot". Caveat: May not be necessary if you ran 'erase_flash' above.
-
This will reset the EEPROM and remove any settings or presets you may have saved.
Note: If you Flash via another method, you will definitely need to perform a Factory Reset. Cycling the power is also a requirement if you're doing anything with I2S.
- Download for your platform NodeMCU-PyFlasher.
- Plug the WeMOS D1 Mini (or other ESP8266 device) into your computer.
- Run NodeMCU-PyFlasher.
- Load the binary.
- Select the Com port.
- Select 'yes, wipes all data'.
- Press Flash NodeMCU.
⇛ first read https://kno.wled.ge/advanced/compiling-wled/
→ use source code from https://github.com/atuline/WLED/tree/master
→ start with one of the sound reactive compile environments, like env:soundReactive_esp32dev
→ read wled00/wled.h
, add your own settings to wled00/my_config.h
→ create your own compile environment(s) using platformio_override.ini
SoundReactive has some additional compile time options - see wled00/audio_reactive.h
and wled00/audio_source.h
.
- If you get .py errors, install Python (wait for the VSCode popup to install Python)
- If you do not install the Arduino IDE (Why should you if you have PlatformIO) and your board is not recognised if you compile to board, install the USB to UART bridge VSP Drivers
- For the sound reactive ESP32 firmware, the board type should be env:soundreactive_esp32dev. This is because we have modified the build partitions in order to go beyond the original compile size limits of WLED.
Note: We have long since stopped compiling WLED with the Arduino IDE.
Some features of "standard WLED" are by default disabled in SR WLED. These extended features have shown negative impacts on performance and stability - we need all available "power" to run sound analysis. For example, they possibly use too much memory (FLASH or RAM), can lead to lags in animations, or may cause slow responses to sound input.
The same is true for many WLED usermods: they might work (like 4LineDisplay), but could have bad side-effects on our sound reactive features so we disabled them in our "official" firmware builds.
If you're keen to use a disabled WLED features, in your personal build of SR-WLED:
-
check if there is a
-D DISABLE_...
flag in your build environment (platformio.ini, or platformio_override.ini), and comment it out or remove it. -
check if the feature is disabled explicitly in wled00/wled.h.
-
If a feature has been disabled explicitly in wled.h, then there is usually a good technical reason for that decision. Please don't write bug reports for such functions.
-
If you still want that feature, you can un-disable it like this
Add to your wled00/my_config.h
// re-activate Alexa support. Yes I know this is not supported officially. I don't mind if animations will sometimes "stutter" and lag behind the sound.
#ifdef WLED_DISABLE_ALEXA
#undef WLED_DISABLE_ALEXA
#endif
// re-activate MQTT support. Yes I know this is not supported officially. I am ready to take good care of my hung, non-responsive device if necessary.
#ifndef WLED_ENABLE_MQTT
#define WLED_ENABLE_MQTT
#ifdef WLED_DISABLE_MQTT
#undef WLED_DISABLE_MQTT
#endif
#endif
// re-activate IR receiver support. Yes I know this is not supported officially. I can live with my LEDs flickering sometimes, and effects stuttering or lag behind the sound.
#ifdef WLED_DISABLE_INFRARED
#undef WLED_DISABLE_INFRARED
#endif
Introduction
Installing and Compiling
First Time Setup
Running Sound Reactive WLED
2D Support
Sound Settings
2D LED Preferences
ARTI-FX
UDP Sound Sync
Sound Reactive Animations
Non-Reactive Animations
Digital Microphone Hookup
Analog Audio Input Options
Using my PC for the Sound
News
It's Not Working
Noise and Spikes
Connectivity Issues
WLED Programming Notes
Modifying Sound Reactive WLED
Future Directions
Adding a new Settings Page
On Lossy Colours
Sliders in WLED
Testing