This is my version of the NodeMCU LED strip controller, based on bruhAutomation's project, with my own modifications, including:
- Ability to control mutliple strips at once using grouped MQTT topics
- A fix for flickering issues with faster chipsets (FastLED interrupt issue)
- Additional effects written by me (Christmas tree, Sine Wave, Random Stars, Breathe, Hue Breathe)
- Making the entire project "production-quality" using a printed circuit board to hold the components/wiring together and a 3d printed enclosure to make the controller look professional installed around the home.
- Focusing on openHAB as the home automation control suite, since it is what I use.
- RGB Color Selection
- Brightness
- Flash
- Fade
- Transitions
- Effects with Animation Speed
- Over-the-Air (OTA) Upload from the ArduinoIDE!
Some of the effects incorporate the currrently selected color (sinelon, confetti, juggle, etc) while other effects use pre-defined colors. You can also select custom transition speeds between colors. The transition variable also functions to control the animation speed of the currently running animation.
The default speed for the effects is hard coded and is set when the light is first turned on. When changing between effects, the previously used transition speed will take over. If the effects don't look great, play around with the slider to adjust the transition speed (AKA the effect's animation speed).
This code also supports remote uploading to the ESP8266 using Arduino's OTA library. To utilize this, you'll need to first upload the sketch using the traditional USB method. However, if you need to update your code after that, your WIFI-connected ESP chip should show up as an option under Tools -> Port -> Porch at your.ip.address.xxx. More information on OTA uploading can be found here. Note: You cannot access the serial monitor over WIFI at this point.