Skip to content

JoJos1220/MinifigLightingSystem

Repository files navigation

MinifigLightingSystem

Figure 1: Overview of the full assembly with Lightning Animation

Codacy Badge PlatformIO CI License Release Version Release Date Last commit Contributors vscode.dev preview Dependabot GitHub Actions PayPal Ko-Fi

About this Project and Repository

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.

Features

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
  1. About this Project/Repository
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments
  8. Support

Happy tinkering and illuminating! 🚀🛠️💡

Getting Started

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.

HardwareParts

Figure 2: Minimum Hardware Setup -> ESP8266-01, RGB LED Controller Module, WS2812b 5mm LED and some connector cables


Preparing 3D-printed parts

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.

HardwareSchematics

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.

(back to top)


Comissioning

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;

Webserver_AP_Overview

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!

Webserver_STA_Overview

Figure 5: ESP8266 WiFi in STA-Mode html request

Roadmap

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

(back to top)

Contributing

Everybody is welcome to contribute the project - regardless of the experience level!

  1. fork the repository
  2. clone your fork on your PC
  3. create a branch for your changes
  4. add you changes
  5. commit and push
  6. create a pull request

(back to top)

License

Creative Commons Attribution Share Alike 4.0

License: CC BY-NC-ND 4.0

See also LICENSE for more information about license rights and limitations.

(back to top)

Contact

Project Link to Github

Project Link to Instructables

Projekt Link to Cults3D

(back to top)

Acknowledgments

For more detailed information about the Project, please check the Instructables Link given within the Contact section.

You can also check:

Support

You Like the Project and want to Support me and my work?

Well, I like coffee ;) Maybe we got a deal?

ko-fi

Donate with PayPal

MinifigShelfs_connected

Figure 6: Connected Shelfs

(back to top)