Smart Nanoleaf Replica
Description
# 3D-Printed DIY Nanoleafs ![Nanoleafs](https://github.com/NimmLor/esp8266-nanoleaf-webserver/blob/master/gallery/rgb_preview2.gif?raw=true) **Pretty, smart and modular almost like the original, however much cheaper. Including a great custom made software** The software has many cool and modular features, which can be configured or disable individually: - 40+ preconfigured **animations** - WebUI with light and dark theme - **Sound reactive** to a windows audio output using the [IoT-Audio-Visualization-Center](https://github.com/NimmLor/IoT-Audio-Visualization-Center) - **Alexa** integration - MQTT/HomeAssistant support - mDNS to be easily located in the network - OTA integration to be updated wireless <img src="https://github.com/NimmLor/esp8266-fastled-iot-webserver/blob/master/web_ui.jpg?raw=true" /> # Software **The software and detailed setup instructions can be found on [GitHub](https://github.com/NimmLor/esp8266-fastled-iot-webserver/blob/master/Software_Installation.md)**: # **[>>Software<<](https://github.com/NimmLor/esp8266-fastled-iot-webserver), [>>Instructions<<](https://github.com/NimmLor/esp8266-fastled-iot-webserver/blob/master/Software_Installation.md)** For beginners there is a setup tutorial too, please mind that the versions mentioned in the video are no longer correct. # Hardware ## Bill of Materials - 1x [Wemos D1 mini](http://s.click.aliexpress.com/e/_srb2XX) is recommended, but any other ESP8266 variant should work too, but it might require an additional step-down converter. - [WS2812B LED Strip **IP30**](https://s.click.aliexpress.com/e/_ATtLnP), only IP30 will fit inside the nanoleafs, I'll recommend at least 60LEDs/m - 1x [3.3V to 5V Logic Level Shifter](http://s.click.aliexpress.com/e/_s49Saz) (optional, required if LEDs "glitch") - 1x [Female Power Jack](http://s.click.aliexpress.com/e/_sPe0RR) - 1x [5V Power Supply](http://s.click.aliexpress.com/e/_sIzXbC), Note: 100 LEDs draw around 4A - [M4\*10mm](http://s.click.aliexpress.com/e/bYUDfMek) Bolts - White PLA is recommended ###### The links above are affiliate Links ## 1. Plan your setup I would recommend making a plan how your leafs should be arranged. Afterwards make a quantity table of all parts that need to be 3D-printed. Choose how many led pixels you will use in the corners. Every corner must have the same amount of leds in each corner. I've used 4x leds in each corner, thats 12 led pixels per leaf → 1m of 60 leds/m = 5 leafs I would **not** go for more than 5 leds per corner on the 60leds/m led strip, because the strip might interfere with the connector on the side. ## 2. Choose your diffuser variant There are 3 different variants of the diffuser available: - PLA diffuser - Paper diffuser - Edged Paper diffuser **PLA diffuser:** The PLA diffuser is recommended if you print on a flat print surface and you get a consistant first layer, for instance if you print on a glass plate. **Paper diffuser:** If you don't get consistant first layers choose the paper diffuser, cut photo paper into pieces using the cutting_tool.stl. **Edged Paper diffuser:** Choose this one, if you don't like the round edges of the regular paper diffuser. ## 3. Print your parts Make sure you print all diffusers at **100% infill** with **white** PLA, if you don't print at 100% the infill pattern might shine through. The base can be printed in **black** PLA, but any other color will work too. Choose white PLA for the base if you prefer that the leds should shine through a bit on the sides. The base is also available as an M3 variant. The base can be printed at amount any infill. You can either print the electronics box or just glue the ESP8266 directly onto the first base. ## 4. Assemble the Leafs First remove the tape of the backside of the led strip and put it into the corners. **All** led strip pieces must have the **GND line facing downwards**. Cut the wire into pieces. Make sure your wire pieces aren't too long, otherwise they might be visible when they are too close to the diffuser. When soldering, mind the arrow, it must face always in the same direction, the arrow must face **away** from the ESP8266. ![Single leaf](https://github.com/NimmLor/esp8266-nanoleaf-webserver/blob/master/gallery/DSC_8615.JPG?raw=true) **Important:** All led pieces must be connected in series, **no parallel** connections! ## 5. Connect the Leafs Connect all leafs together with the M4 bolts together. Leave a 4mm gap between all leaf connections. Afterwards connect the endpoint of the leaf to the starting point of the next leaf. **Mind the arrow!** ## 6. Wire the electronics box Mount the power jack and the Wemos D1 inside. Connect the start of the strip to the pin D4 of ther ESP8266. Connect the remaining wires as shown below. ![circuit without Logic level converter](https://github.com/NimmLor/esp8266-nanoleaf-webserver/blob/master/gallery/circuit.jpg?raw=true) ![circuit without logic level converter](https://github.com/NimmLor/esp8266-nanoleaf-webserver/blob/master/gallery/electronics_box.jpg?raw=true) ----------- ## 7. Mount the Nanoleafs Make sure you flash the software first and test the leafs. If glitches occur use a logic-level converter. If there are still glitches, check if the data line interferes with other lines. If your leds start to dimm or change color along the strip you might want to connect another power supply at the end of the strip. If everything works fine, push the diffusers from the top in and use an allen key or a screwdriver to tighten the connections between the leafs. You can either mount the 'Nanoleafs' using: - Nails (recommended) - A rawlplug and a screw - double sided tape ## Troubleshooting ## "Not found :/" error The webserver showing "not found :/" indicates that no sketch data is located on the device. This could be the case if the user hasn't uploaded the sketch data using the "ESP8266-Sketch-Data-Uploader". Or the sketch data upload process has failed, therefor try uploading it again. But make sure you have the correct *flash-size* selected in the *tools* menu. For a Wemos D1 mini this has to be set to **4096kb, 1MB SPIFFS, 1MB OTA**. ## Issues while compiling - **Compiling throws errors** - Update all libraries to the newest versions (esp8266, FastLED, PubSubClient, ArduinoOTA) - **Sketch Data Upload does not work** - Download the newest version of the [ESP8266-FS](https://github.com/esp8266/arduino-esp8266fs-plugin/releases) plugin for the Arduino IDE - **The Arduino IDE doesn't show the other files and says that files weren't found** - The Arduino IDE requires that the filename of the .ino file has the same name as the folder it is in, if the names do not match, then the .ino file will be moved into a new folder, to fix it move the file up to the other files and make sure the folder name is the same as the one of the file - **Secrets.h file not found** - Create the Secrets.h file according to the instructions ## Issues while uploading - **The Arduino doesn't boot when the LEDs are attached** - The LEDs might be wired in the wrong direction, the arrow must point away from the esp8266 - **The Sketch-Data-Upload says "esptool.exe not found"** - Download the newest version of the [ESP8266-FS](https://github.com/esp8266/arduino-esp8266fs-plugin/releases) plugin for the Arduino IDE ## Issues with the Webinterface - **The website just shows "not found :/"** - Upload the sketch data again using the "ESP8266-Sketch-Data-Uploader" from the *tools* menu - Verify your settings in the tools menu - Check if the upload process completes without any errors - **The website doesn't load** - Check if you have entered the correct IP-Address - Make sure you are in the same network as the device - Try opening the serial monitor of the Arduino IDE and reset your board. The terminal should output something and indicate what is going on ## Issues with the LEDs - **The LEDs flicker a lot** - You might have bad soldering spots - Try to use a logic level shifter to shift the supplied data signal to 5V - **Not all of my LEDs turn on** - Check if you have correct values for the variables that define the amount of LEDs - Check the wiring for errors - **My LEDs just light up white** - Try updating all libaries to the newest versions ## FAQ - **Can I connect to the esp8266 from outside of my local network?** - Yes, you can do this by creating a port forwarding rule on your router - **Can I use the NodeMCU for this project?** - Yes the software should work with every esp8266 based board. Make sure the correct pin is defined correctly - **Can I use an esp32?** - The software doesn't support esp32, but jasoncoon wrote a [esp32 edition](https://github.com/jasoncoon/esp32-fastled-webserver) but it just has basic functionality - **Can I use other LED-Strip types for this project?** - Yes, any FastLED compatible LED-Strip can be used - To use different LED-Strips change the `LED_TYPE` in the main config area - A list of all compatible LED-Strips can be found [here](https://github.com/FastLED/FastLED/wiki/Chipset-reference). - **What power supply should I choose?** - 100x 5V WS2812 LEDs draw around 3A - **What LED-Strip should I choose?** - I would recommend a WS2812B LED-Strip with 60LEDs/m
Statistics
Likes
3973
Downloads
0