Figure 1: Overview of the full assembly with Lightning Animation
Welcome to the source code repository for MinifigLighting, built on ESP8266 for the dynamic control of WS2812b LEDs arranged in a sequential configuration.
For a comprehensive assembly guide and additional project details, please efer to the Contact section, where you'll find project links leading to detaild instructions on Instructables.
LED Control: The code allows to connect and control up to 255 WS2812b LEDs in serial, allwoing for a flexicble and scalable setup
Group Assignment: Assigning LEDs to differnet groups allows you you to create distinct lighting patterns across your connected LEDs.
Web Server Integration: Control your LED arrangement by a Webserver over your lokal WiFi.
Table of Contents
Happy tinkering and illuminating! 🚀🛠️💡
Before you begin, make sure you have the following components (or similar ones) available.
To simplify the Hardware setup, use a ESP8266 ESP01 WS2812 RGB LED Controller Module from your favorit Online Market. Furthermore you will need a 5V Power Supply to the LED Controller module, several 5mm WS2812b LEDs (which are actually perfect fitting into the holes of the 3D-printing part), Condensator's for avoiding power supply issues between the strand, some wires and connectors, soldering iron and some hotglue for gluing the LEDs in place. If you print my suggested Electronic Case you will also need some heat inserts.
Figure 2: Minimum Hardware Setup -> ESP8266-01, RGB LED Controller Module, WS2812b 5mm LED and some connector cables
The STL File of the shelfs to 3D print can be downloaded on Cults3d.com:
Link to Cults3D: https://cults3d.com/:953606
The STL File of the Electronic Case can be downloaded on Thingiverse:
Link to Thingiverse: https://www.thingiverse.com/thing:6381830
After prepearing the parts, solder the LEDs together in Serial. Choose the wire length in such way, that the LEDs can be easily put into the 3D Printed parts (In this Project, the Wires are app. ~220mm long). You can add up to 6 LEDs into one shelf piece. It is on you, if you want to add some additional connectors for extend the LEDs or you want to group them.
Figure 3: Hardware Schematics
Holding the PCB of the RGB LED Controller and the USB PCB Interface in place, i customized a closing which can be found on Thingiverse. Use some hot glue to secure the parts within the closing.
Bevor you flash the Software on the ESP8266, you can (but not must) already pre-define your WiFi credentials within "MiniFigLightning.h"
// Define Static Variables for Wifi Access in Station Mode
// Edit them directly here for correct Init
#define STASSID "THIS IS YOUR PERSONAL WiFI SSID"
#define STAPSK "THIS IS YOUR PERSONAL WIFI PASSWORD" // Be sure it is longer then 8 chars.
If you now turn the ESP8266 on, it should connect to defined WiFi AP or, if e.g. credentials are false or WiFi is not defined the ESP8266 start-up in Accespoint mode. You can now connect to it by e.g. Smarthone or Laptop and selecting the MiniFigLightning SSID and the AdminFigure_23 Passwort. Within the Captive-Portal which you where prompt redirected, you can select your WiFi crendtials again!
If captive Portal is not starting navigate to http://MiniFigLightningSystem.local
Make also sure, you have setup your used WS2812b LEDs correctly within the Animation.h section. You may have to modify the typdef NeoRgbFeature and NeoEsp8266Uart1800KbpsMethod section to your specific LEDs! The typdef of your specific LED can be found wihtin the NeoPixelBus Libary.
// NeoPixelBusLg Constant used LED Definition
typedef NeoRgbFeature ConstNeoGrbFeature;
typedef NeoEsp8266Uart1800KbpsMethod ConstNeoEsp8266Uart1Ws2812xMethod;
Figure 4: ESP8266 WiFi in AP-Mode html request
If the Setup of WiFi is done, the Parameter Homepage can be accessed by the same url within Station mode. Now, you can setup your personal prefered Animation, Change Brigthness, Assign LEDs to groups or the animation speed! Enjoy!
Figure 5: ESP8266 WiFi in STA-Mode html request
With the first release of this project a fully functional prototyp is presented to the open-source community.
Further features are implemented based on the community input and the roadmap will continously maintained!
-
adding more Animations
-
Implementation of a Visual Audio Display
Everybody is welcome to contribute the project - regardless of the experience level!
- fork the repository
- clone your fork on your PC
- create a branch for your changes
- add you changes
- commit and push
- create a pull request
Creative Commons Attribution Share Alike 4.0
See also LICENSE for more information about license rights and limitations.
Project Link to Github
Project Link to Instructables
Projekt Link to Cults3D
For more detailed information about the Project, please check the Instructables Link given within the Contact section.
You can also check:
You Like the Project and want to Support me and my work?
Well, I like coffee ;) Maybe we got a deal?
Figure 6: Connected Shelfs