Fade is an ESP32-based animation system. It can drive WS2812/Neopixel addressable LEDs, PWM-based devices (LEDs or anything else that supports PWM), and hobby servo motors.
See the introduction video here.
The installation files can be found here.
Run WinFadeInstaller.msi
These tools will be used to copy the Fade system onto the ESP32
How to Install Esptool on Windows 10
It's good to have experience copying programs to the ESP32 from the Arduino IDE or another IDE before you try this.
- Connect the ESP to the computer with a USB cable (or whatever programmer you use).
- Determine what COM port you are connected to
- Edit FlashToEsp32.bat to specify the proper COM port
- Run FlashToEsp32.bat
- Put the ESP board into download board (press and hold the program button or press and hold it and then press and release the reset button)
- Watch the download progress.
- Connect to the COM port with a terminal program such as CoolTerm.
- Reset the ESP32
- You should see debug text that says "Configuring Access Point"
- Using a wireless device (laptop or phone), connect to a network with the SSID named "FadeController_<number", password "12345678"
- Your browser may hit the page directly; if not, navigate to http://192.168.4.1
- Choose the appropriate wireless network.
- Reset the ESP
- Determine the IP address of the ESP. You can get that either from your router or from the debug messages written when the ESP boots.
- Enter that IP address into your web browser.
- That should give you the web-based IDE for the ESP.
- Enter the IP address of the ESP into WinFade.
- Enjoy.
See the FadeExamples directory
9/10/2021
Finished support for remoting. This allows one ESP to drive multiple ESPs. There is a new LED type ("UdpSender") that will take commands for a specific of channels (LEDs or servos) and send them out over the local network using UDP. The remote ESPs use the "UdpReceiver" type to take those commands and send them to the local hardware.
This is for two primary scenarios: if you wanted to use more than 16 servos in a project, you can set up a remote ESP (or ESPs) and get a multiple of 16 servos. Also, it supports animations across multiple physical instances using a single set of driving code.
In addition, if you want to run code on a computer or laptop and use that to drive the remotes, that is also possible. I've implemented that as a feature in WinFade; you can write your code there and see how it will run on the live remote hardware without having to download the code there. Not sure how much utility there is in that, but it allowed me to easily test the UdpReceiver code that runs on the ESP.