Smart Nanoleaf Replica

by Surrbradl08 Jan 15, 2019
Download All Files

Thing Apps Enabled

Please Login to Comment

Tolles Projekt und vielen Dank für‘s teilen!
Gibt es zufällig die Möglichkeit der Einbindung in den iO-Broker?

Hab noch nie mit dem IO-Broker gearbeitet, aber es lässt sich problemlos über HTTP Post Request steuern was über den IO-Broker möglich sein sollte.

do you think 25 panels (300LEDs) will run on the 5v 3A powersupply?


A really like your project. Almost done printing and ready to start assembly.

But I’m not completely clear on how to assemble and mount the leafs. In your tutorial you mention to bolt the leafs together with a 4mm gap. Mount them to the wall, put on the top and tighten the bolt. But how should I reach the bolt? The top is closed and the bottom is mounted to the wall.

Can you give your thoughts on that?

Hi, the bolts must be tightened from the back after the diffuser is attached.
I would reccommend to hang the leafs on a nail instead of directly screwing them to the wall.

Thanks for explaining. That makes sense.

Hi !
Die Tiles sind ja recht klein, hast du sie mit mal in größer ausprobiert?
Klappt einfach hochskalieren?

Erstmal vielen Dank für das coole Projekt.

Ich habe leider noch ein Problem und komme gerade nicht weiter.

Ich bekomme nur eine LED zum leuchten, hast du evtl einen Tipp woran es liegen kann?
Ich habe ein Wemos D1 mini v3.0.0, Verkabelung wie auf der Grafik.

Ich habe jetzt die empfohlenen Versionen installiert:

  • Arduino 1.8.7
  • FastLED 3.2.6
  • ESP8266 2.4.2

Ich habe noch einen Screenshot mit meinen Arduino Einstellungen angehangen.

Nach dem Flashen leuchten immerhin 7 von 12 LEDs, wenn ich das Board Stromlos mache und neu verbinde wieder nur eine.
Wenn ich im Webinterface Helligkeit oder Farbe ändere tut sich auch nichts.

Ich habe mal nen anderes D1 Board getestet, gleiches Problem.
Ich habe auch mal einen einfachen Beispiel Sketch getestet, mit dem das gleiche Bild...


define LED_PIN D4

define NUM_LEDS 12 // ALLE

define BRIGHTNESS 255

define LED_TYPE WS2812B



void setup() {
delay( 3000 ); // power-up safety delay
FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
FastLED.setBrightness( BRIGHTNESS );

void loop() {
FastLED.clear ();
fill_solid( leds, NUM_LEDS, CRGB(0,191,255));

Hast du eine Idee was ich übersehe?

Hi, ja ich hab einen Fehler bemerkt. Du must beim Board Wemos D1 & R2 mini auswählen, da du ein anderes Board ausgewählt hast stimmt das pin mapping nicht und die LEDs leuchten nicht.

Mfg Surrbradl

Ahhh das war es. Vielen Dank für den Tipp. Seit Tagen grübel ich jetzt schon was es noch sein kann...
Ich hatte es nicht gesehen weil es "LOLIN(Wemos) D1 mini" heißt, hatte natürlich nur nach Wemos gesucht :D

Hello :). Really looking forward to making this. But I noticed there’s a number of different and similar files, which ones do I need to print? Prob be looking at around 15-20 altogether :)

Hi, there are 3 different variants of the diffuser available:

  • PLA diffuser
  • Paper diffuser
  • Edged Paper diffuser

In addition these variants are available with a different amount of holes. These versions are available to avoid open holes on some leafs which can look kinda weird, but you can still print all of the with the 3x hole version.

The 1x hole version is ment to be used for the end of the nanoleaf chain.
The 2x hole version is used to connect the leafs in a single connected line.
The 3x hole version is used to add a single leaf on top of another.

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.

What size has the triangles?

Hi, awesome Project.
Is it possible to configure a static IP address? (my router can't)

Hi, the following code forces the wemos to connect using a static ip. Make sure you enter a valid IP-Config.

Paste the following code right after the WiFi.begin(...) function in the .ino file:

IPAddress ip(192,168,0,200);   
IPAddress gateway(192,168,0,254);   
IPAddress subnet(255,255,255,0);   
WiFi.config(ip, gateway, subnet);

I hope that works for you!

Hi, that didn't work for me - it still comes up with a random IP.

if (String(WiFi.SSID()) != String(ssid)) {
  WiFi.begin(ssid, password);
  IPAddress ip(192,168,178,12);   
  IPAddress gateway(192,168,178,1);   
  IPAddress subnet(255,255,255,0);   
  WiFi.config(ip, gateway, subnet);

// For the wiring schema I would recommend to add a capacitor (1000uF, 6.3V; Between ground and 5v) and a resistor (~470Ohm between first LED and controller)

Just want to give a short feedback and to thank you for this wonderful project. I have it working with Arduino 1.8.9, Fastled 3.2.10 and Websockets 2.1.4 on a WeMos D1 R1 out of the box. I struggled a while because it was not clear to me to upload the program separately to the SPIFFS. I used Data Pin "2" instead of "D4", but I don´t know for sure if it makes any difference.

do i need to rotate diffuser?

Yes, unfortunately I've forgot to rotate the parts before exporting.

Hello, i've ordered a led stripe with 144 leds/m. Unfortunately these stripes are wider than the normal ones. Mine is 12mm wide, so i would need a inner height of 12,5mm. Could you maybe add a version with this inner height?

Vielen Dank für deine Mühen. Ich habe mir zwar das Fusion360 Projekt angeschaut, war meinem Ziel nach einer halben h noch nicht wirklich nah. Du mit deinem Durchblick schaffst das sicher mit links. ;)

Kein Problem! Hab es kurz bearbeitet und als Remix hochgeladen.
Viel Spaß noch!


12mm LEDs Nanoleaf Replica Remix

Wow, das ging schnell. Vielen Dank! Werde ich die Tage ausprobieren.

erstmal danke für die super Arbeit!
Eine Frage zu Steuerung über Alexa / Echo:
So wie ich das verstanden habe, brauche ich ein Zusatzgerät (Raspberry z.B.) auf dem Node Red läuft? Der muss natürlich dann auch permanent an sein.
Es gibt ja WLED:
Habe ich das richtig verstanden, dass es hierüber auch ohne ein Zusatzgerät (Node Red) funktionieren würde, die Nanoleafes mit Alexa zu steuern? Man müsste den Code natürlich anpassen auf die Leafes.
Vielen Dank schon Mal

Hat jemand eine Idee hierzu? Gehe Ich mit meiner Annahme richtig, dass das ohne extra Raspberry z.B. über Alexa steuerbar ist?
Supported light control interfaces:
WLED Android app
HTTP and JSON request APIs
Blynk IoT
UDP realtime
Alexa voice control (including dimming and color)
Sync to Philips hue lights
Adalight (PC ambilight via serial)
Sync color of multiple WLED devices (UDP notifier)
Infrared remotes (24-key RGB, receiver required)
Simple timers/schedules (time from NTP, timezones/DST supported)

Sorry, hab vergessen das ich dir letztens zurückschreibe ;).
Wenn ich mir die Github Seite so ansehe denke ich dass das ziemlich sicher funktionieren wird, Animationen wird es wahrscheinlich weniger geben und auf die Nanoleafs sind sie eben auch nicht angepasst.
Eventuell wenn ich diesen Sommer mal zeit ab schau ich mir das ganze mal genauer an und mach dann "Smart Nanoleaf Replica v2". :D

Das wäre super, danke für die Antwort :)

Hi, ich kriege deinen Code leider nicht zum laufen..
Wenn ich mich mit dem Webinterface verbinden möchte, kommt nur "Not found: /".
Ich habe Arduino IDE 1.8.8 & 1.8.9 und FastLED 3.2.9.


Ok, wenn schon mal "Not found /." dasteht dann hat nur der Sketch Data Upload nicht funktioniert.
Hast du für die Flash-Size die 4M (1M Spiffs) ausgewählt, oder kommt eine Fehlermeldung beim hochladen der Sketch Data?

Ja habe ich, anbei alle Einstellungen.
Nein, beim hochladen kommt keine Fehlermeldung..

Uploading 347136 bytes from C:\Users\xcruell\AppData\Local\Temp\arduino_build_316896/esp8266-nanoleaf-webserver.ino.bin to flash at 0x00000000
................................................................................ [ 23% ]
................................................................................ [ 47% ]
................................................................................ [ 70% ]
................................................................................ [ 94% ]
................... [ 100% ]

Ja jetzt weis ich was bei dir hat. Du hast dir den ESP8266 Skrtch Data Uploader nicht installiert wie in der Anleitung beschrieben.
Den musst du installieren und dann im Tools menu auf Sketch Data upload klicken.

Oh wow.. Den letzten Abschnitt habe ich glatt überlesen.
Ich danke dir vielmals!

Just attempted the build and after much frustration have decided to try the arduino version. I cannot for the life of me get red node UI to interact with any LEDs or if it does its at random. It seems like any command i put into the UI is queued and takes MINUTES for it to send to the wemos. i dont even know where to begin but have had 2 separate trustworthy people look over my work and we all agree its something with coding and red node not playing nice. thanks for your guide anyway!

Any pros or cons to going with 144 LED/m vs 60 LED/m? Since I imagine they are positioned closer together, you probably can fit more in each leaf. Thoughts or experiences?

Some people have tried 144 leds per meter strips, but you will need a much more powerful power supply.

I would recommend going for 60 leds variant, just make sure you choose the IP30 rating.

Hey :)

Your Project should also work with APA102 (5V 4 Pin) Addressable Strips or?


It should work with every FastLED compatible LED strip. You might have to make changes to the FastLED.addLeds(.....) function to get it to compile.

Thanks for the quick Answer. Maybe I give it a try.

schönes Projekt, gefällt mir sehr gut!
Eine Frage, das verlinkte Netzteil bringt ja gerademal 15W, die LED Streifen brauchen pro Meter jedoch 18W.
Haut das trotzdem hin oder sollte man lieber etwas stärkeres nehmen?
Eine Sache noch, der Link vom Logic Level Shifter klappt nicht.
Vielen Dank

Hi, hab ein bisschen getestet mit meinem Labornetzteil und bin zu dem Ergebnis gekommen, dass 100 LEDs auf Höchstleistung des verlinkten LED-Strips ca. 3A benötigen. Da kannst natürlich auch ein stärkeres kaufen, die FastLED library bietet zum Glück auch eine Funktion um den Stromverbrauch zu limitieren.
Komischerweise hat bei mir der Link zum Logic-Level Shifter wie gewohnt funktioniert.


dann passt das Netzteil ja, danke :D
Also der Link klappt weder auf meinem Handy, noch am PC :/
Bei mir kommt immer die Meldung "Sorry, this page is unavailable, but check out our other pages that are just as great."
Alle anderen Links gehen aber.

Kann ich SSID und W-LAN Passwort im nachgang über die Weboberfläche eigentlich nochmal ändern oder muss ich den Sketch neu kompilieren?

Sollte eigentlich ohne Probleme funktionieren, ist aber schon lang her seitdem ich das getestet habe.

Mmh. Muss ich später nochmal probieren.
Über das Smartphone hat es leider nicht geklappt.
Aber Danke für das tolle Projekt

Blöde Frage, aber hast du Discord? vll könntest du mir einmal schnell durch einen Voicechat helfen, dann muss ich dir nicht hier in den Comments auf den Keks gehen.

Ja hab ich, hab auch schon überlegt ob ich das Vorschlag. :D


Hab heute so ab 16:00 Zeit.

gibt es da eine fixe IP Adresse eingeben und muss ich selbst mit dem W Lan verbunden selbst sein oder was gebe ich da ein?

Jetzt bleibt mir die Frage wie kann ich denn den ESP 8266 denn jetzt per browser erreichen und ihn Steuern?

Ok konnte mittlerweile alles Uploaden danke für deine bisherige Geduld und danke für deine Hilfe.

Meine nächstes Problem ist sollte man den Chip jetzt eigentlich nicht mittlerweile per als eigenes W Lan sehen?
ah ok ich muss da die Daten von meinem W Lan reinschreiben also dessen SSID und das Passwort, damit er sich damit verbinden kann und ich mich nicht direkt mit dem Ding verbinden muss ok jetzt verstehe ich so einiges Danke

Ja genau, du kannst aber auch einen Modus aktivieren damit der esp8266 einen eigenes Wlan öffnet.
Dazu einfach in Zeile 30 folgende Änderung vornehmen:

const bool apMode = true;

Bei mir stellt sich aber die Frage und zwar wenn ich diese Sketch upload funktion benutze kommt eine Fehlermeldung wenn ich aber den Pfeil Links Oben benutze also den Hochladen Knopf lädt er was hoch also ich weiß mittlerweile echt nicht mehr wie ich weitermachen soll.

Warte du bist doch auch Österreicher LOL.
Ok also ich brauche Hilfe dabei wie du siehst ich habe absolut keinen Tau wie das Arduino System funktioniert.
Und es wäre toll wenn du mir vll. Helfen könntest mit dem ersten meiner Probleme und zwar wie installierst du eigentlich dieses esp 8266 nanoleaf?
Du hast da ja gesagt, dass du das Downloadest und es dann im Sketch Folder entpackst oder? aber ist der von mir gezeigte Sketch folder der richtige oder hab ich da was falsch?
Dann meine 2te Frage wie lädt man eigentlich die Sachen denn dan auf den Chip hoch?
Danke für deine Hilfe soweit.

Zuerst entpacken. Im Ordner befindet sich anschließend eine .ino datei, der Dateiname muss genauso lauten wie der des Ordners.
Es muss nichts irgendwo hinkopiert werden.
Dann die Ino Datei öffnen. Zuerst alle Libraries/Boards/Sketch-Data-Uploader installieren wie in der Anleitung.
Anschließend die Konfigurationsschritte befolgen (Secrets.h file erstellen etc.).
Natürlich noch im Menüpunkt tools die Einstellungen treffen (flash_settings.png), aber der COM Port wird bei dir anders sein. Mit dem COM Port wählst du aus welches Gerät du flashen möchtest (es sollte ein zusätzliches auftauchen wenn die den ESP8266 anschließt).

Falls es nicht angezeigt wird, einfach den CH340 Treiber installieren.
Danach in Sketch >> Upload klicken.
Am Ende noch die Daten hochladen Tools >> ESP8266 Sketch Data Upload.

Danke hat mir schon ziemlich weitergeholfen doch als du erwähnt hast ich sollte zuerst alles installieren und ich mir noch alles einmal durchgelesen habe konnte ich diesen Part nicht verstehen:

"The web app needs to be uploaded to the ESP8266's SPIFFS. You can do this within the Arduino IDE after installing the Arduino ESP8266FS tool. An alternative would be to install the Visual Micro plugin for Visual Studio."

Ich kann das nicht wie bei fast led und co gelernt mit der Bibliothek hinzufügeoption machen, und haben wir das eigentlich nicht am anfang des Tutorials installiert als wir in der Arduino IDE nach ESP 8266 gesucht haben?

Das was du als erstes installiert hast war etwas damit der esp8266 überhaupt in der arduino IDE funktioniert.

Der sketch data uploader wird wie auf der Github Seite im Readme.md beschrieben installiert.

Arduino: 1.8.10 Hourly Build 2019/05/07 05:33 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, Flash, Disabled, All SSL ciphers (most compatible), ck, 26 MHz, 40MHz, DOUT (compatible), 4M (1M SPIFFS), 2, nonos-sdk 2.2.1 (legacy), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

SPIFFS Error: esptool not found!
Ungültige Bibliothek C:\Users\Pazrick\Documents\Arduino\libraries\sketch_may19a in keine Header-Dateien (.h) in C:\Users\Pazrick\Documents\Arduino\libraries\sketch_may19a gefunden gefunden
Ungültige Bibliothek C:\Users\Pazrick\Documents\Arduino\libraries\sketch_may19a in keine Header-Dateien (.h) in C:\Users\Pazrick\Documents\Arduino\libraries\sketch_may19a gefunden gefunden
Ungültige Bibliothek C:\Users\Pazrick\Documents\Arduino\libraries\sketch_may19a in keine Header-Dateien (.h) in C:\Users\Pazrick\Documents\Arduino\libraries\sketch_may19a gefunden gefunden
Ungültige Bibliothek C:\Users\Pazrick\Documents\Arduino\libraries\sketch_may19a in keine Header-Dateien (.h) in C:\Users\Pazrick\Documents\Arduino\libraries\sketch_may19a gefunden gefunden

SPIFFS Error: esptool not found!

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

Ich glaube dass ich dir mittlerweile eigentlich schon ziemlich auf die Eier gehe weil ich einfach so dumm bin in sachen Programmieren, dass es ja fast schon weh tut aber ich versuche dennoch einmal mein Glück.
bei dem Schritt:
"Go to sketch directory (choose Sketch > Show Sketch Folder).
Create a directory named data and any files you want in the file system there."

Habe ich es so gemacht wie in dem Bild gezeigt.
Danke für die Hilfe wünsche eine gute Nacht

hast du eine Ahnung was da sein könnte wenn er eine Fehlermeldung bringt wo er sagt dass das ESP tool fehlt?

Den Error versteh ich jetzt eigentlich nicht.
Öffne mal die .Ino Datei von meinem Projekt und versuch nochmal den Sketch Data Upload.

Ich muss sagen ich verstehe aber auch diesen Part nicht.

Go to sketch directory (choose Sketch > Show Sketch Folder).
Create a directory named data and any files you want in the file system there.

Ich habe dir ja einen Screenshot geschickt wie ich es gelöst hätte konnte mir aber ehrlich gesagt nichts herleiten, wie ich es plausiebler lösen könnte.

Muss ich vielleicht die jar datei eintpacken?

Die jar datei darf nicht entpackt werden.

Hab grad gesehen dass du einen Hourly Build der Arduino IDE verwendest.

Lad dir mal die Version 1.8.7 von hier herunter.

ok jetzt habe ich ein anderes Problem

Ok. Der Fehler ist mir bekannt, der kommt wenn du nicht das richtige Board verwendest (Wemos D1 & R2 mini) oder den Beta-Build der esp8266 library. Falls du den Beta-Build hast, dann downgrade auf die aktuellste non-beta version.

ich habe dabei aber den haken links oben benutzt und nicht in der Kategorie Werkzeug den Sketch Data Upload benutzt ändert sich da was?

Ja da ist ein unterschied. Zuerst muss du unter Tools >> Upload klicken. Anschließend den Sketch Data Upload.
Das erste ist der Programmcode, zweiteres lädt die Website Dateien auf den esp8266.

ok hat sich erledigt habe jetzt aber eine neue meldung bekommen

error: espcomm_open failed
error: espcomm_upload_mem failed

weißt du was das heißt bzw was ich tun muss?

ok als ich nochmal den flash nachgestellt habe hat der sketch upload funktioniert weiß jetzt aber leider nicht was du mit upload meinst als ich nachgeguckt habe konnte ich keinen upload button direkt entdecken ich schätze er wird irgendwie umschrieben, kannst du mir vll den genauen namen nennen danke

also ich habe jetzt die 1.8.7 gedownloaded habe aber leider immer noch das gleiche problem

Hello again i got the wemos 8266 chip and want to set it up but and i have a problem with the installing i managed to get everything until you are writing about "Decompress the ZIP file into your arduino sketch folder and rename it to ...." -
Do you mean the folder that opens up when i directly press Sketch - Display Sketch folder in the Arduino IDE or does it exist somewhere else?

Then my second Problem is "The webserver has to be uploaded to the SPIFFS - You can do this with the Arduino IDE"
How can i do this and what is with the Fast LED´s and the Websockets do they stay on the PC or do i have to put them also into the SPIFFS from the chip and how would i have to do that?
Please excuse my english i am german.
Appreciate your help

With all of my libraries set to the suggested ones,

Arduino IDE: 1.8.7
FastLED by Daniel Garcia: 3.2.1
PubSubClient by Nick O'Leary: 2.6.0
WebSockets by Markus Sattler: 2.0.5
esp8266 by ESP8266 Community: 2.4.1

I have even installed on a separate computer and used different variants of settings suggested as well such as spiff(1m) and Spiff(3m) but all i keep getting is the "not found: /" error

Have you choosen the correct board from the boards list? Choosing the wrong wemos board will cause the not fould error. You have to select Wemos D1 & R2 mini.

Yes, I am using the Wemos D1 & R2 mini board selection. My settings are as follows.

Hi Surrbradl08 , thanks for making this . I can connect to the Ui of the esp 8266 and control it but i cant see it in my router dhcp clients . Any ideas why my router cant see it

Thats weird. I've got an TP-Link Archer C7 and it's listed in the DHCP clients list. Have you given a static IP to the Wemos?

Not yet as i cant see it in the router to get the mac address . My router is a TP-Link TL-WR840N. Just tried google and it seems you need to upload a new sketch to get the mac address from the serial monitor

Ahaaaa ok but i dont understand this complete together
So u use and arduino with fast led as base and then you are joining the wemos d1 mini and the arduino together so that the arduino is making the whole information and is sending the data to the wemos. If this is correct could you explain me how to use the nano leafs with the smartphone or is this the part where the raspberry pi comes in handy?

There is no need for an Arduino, the wemos d1 mini control the leds and runs the website to control the patterns from any web browser on any device.

The raspberry pi software part offers a additional website with the nanoleaf designer and the Alexa integration.

So u only need to install the software to the wemos d1 mini and then take it onlineam i right?
The GUI seen on the pictures is this the nanoleaf designer u mean or is this something u have programmed by yourself?
Or do you mean the "original" nanoleaf designer?

Yes. The gui that runs on the raspberry pi has a blue theme, the wemos ui has a white theme.

Hello i am trying to make this all with a raspberry pi cause i dont have a arduino and this ws 8266 controller. I have the LED u are using in this project and i have wired it up so i can run some example code i got with this led. So my question is cause i dont get the raspberry pi part and would need more info i have mounted the led directly to the rapsberry where a power adapter is feeding the led i mean the led is pretty normal the example code is running but i dont get your tutorial i would love if you could tell me more about the raspberry version and this node red. Thank you so far

You should get an esp8266! They can be found for real cheap.

Hi, if you don't have a wemos d1 mini you can't setup my software, because the rapsberry pi software part depends on the esp8266 webserver.
The raspberry pi doesn't have to be mounted on the nanoleafs if you use it with a wemos d1 mini.

All in all if you want to use just a raspberry pi you havw to code the software yourself.

Hey thanks for this great inspiring project of yours! probably going to print that.
what is holding me back is understanding the wiring and power on the wemos and led strips (do i have a limit of led i can power for example etc etc)
I've tried to google to have some article explaining all this but found a tons of contente and not sure I understand.

Can you advice a good article to understand how the wiring has to be done (I see a lot of article using transistor/capacitor, I see you do not use any for example).

Hi, the wiring is pretty simple, this project just uses a wemos d1 mini and a WS2812 Led strip that is cut into pieces, these pieces are then positioned in the corners and hooked up in series.
You can power as many leds in series as you like, if you connect too many leds together you might experience brightness drops due to voltage drops. There is no need for extra circuitry like transistors, resistors or capacitors.

I do not understand why you do not need any transistor/resistor/capacitor for your project:


here for example on this they precognize to use capacitors and resistors

You can use some of that listed components but they are not really necessary for this project, they might help if you experience issues like flickering.

thanks for your answer,

"There is no need for extra circuitry like transistors, resistors or capacitors."

However i do not understand why there is no need for transistor/resistor/capacitors

I do not have much knowledge in electronics, but I'd like to understand: a lot of other tutorial concerning led strips and wemos like cards include capacitor and resistors and some time transistors. (and the problem I have with those tutorial/articles, is that they don't explain why they are adding any of those components).

I just want to understand why in this project there is no need for that.

for example:

When I try to enable/test my custom solid pattern in the node-RED interface it just shuts off all the LEDs. Any ideas?

Comments deleted.

Hi, the first thing I would try is uploading the FastLED demo_reel example sketch to see if you leds even work. If it still doesn't work, try changin the pin.

Have you considered adding Octoprint status-based patterns? There's already a project that uses a wemos d1 mini for monitoring Octoprint.

How do you access the regular UI that is running on the Wemos D1 mini?

Just type in the ip address in any browser

So if that does work, I would need to unblock the part on the router? Or how would it be solved. I did confirm the board connects to the internet

I have bought two of the actual nanoleaf auroras but I'm saving this for when they inevitably shut down their service and stop updating the app some 3-10 years from now.

Awesome project you got going here! I have everything printed except for the electronics box. I have all my parts so I'm almost ready to assemble! As far as soldering goes are you soldering directly to the ESP8266 or did you solder on the little jumper deals?

I've soldered the wires directly through the holes. The pin headers might not even fit

ok so the one thing that is holding me back right now is my lack of understanding of the directions considering it looks like im the only one with this problem its just me. So when I am creating the flash contents I need to down load the esp8266-nanoleaf-webserver-master.zip. Extract its contents and remove master from the folder. but my question is what do I do after that do I just launch the .ino file create my secrets.h file then upload or do I need other files. The instructions just say download it decompress then upload. So what do I do to get to the point of uploading. I've gotten it to upload multiple times but I don't think I'm doing it right because I cant find an ip address for the wemos and I have no clue how exactly to access the app. I've never really messed with anything like the esp and that is why im confused. My basic question is what files within the zip file do I need for the web app and how do I get them to the point of uploading to the esp.
This is how im doing it right now and tell me what changes I need to make.

It's not so complicated, download the zip from the github releases section, afterwards open the .ino file and configure your vales.If the arduino says that the file must be in a folder with the same name then rename the folder where the .ino file is located to that exact name. Then create the Secrets.h file with your credentials, create it via the arduino ide. Upload the sketch and then use the sketch data uploader tool to write the Spiffs. You don't have to do anything else. Don't touch the data folder and don't move any files around. The only thing you have to do is to download the board and the libraries.

Ok so if it pops up in order to launch the sketch it has to be in a folder named blank I want to not click on ok and go back and rename it myself so that it doesn’t pull the ino file into a folder it’s self. And now I see I want to upload the sketch first. Then after that use the sketch data uploaded to write the spiffs I have just been doing sketch data upload I haven’t uploaded it normally yet. I will do that sometime tonight or tomorrow. Thank you for all your help I’ve never messed with anything other than just an arduino. You are by far one of the best creators I’ve interacted on this platform.

Thx, just text me if you need further help.

ok so it looks like I just about got it working it pops up as a network and all that but during upload I get error messages but only one of them look like an actual error to me. also when I open up serial monitor nothing is there its just blank even when I hit send. these errors are as follows:
In file included from C:\Users\zacha\Downloads\esp8266-nanoleaf-webserver\esp8266-fastled-webserver\esp8266-fastled-webserver.ino:57:0:

C:\Users\zacha\OneDrive\Documents\Arduino\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.006

pragma message "FastLED version 3.002.006"


In file included from C:\Users\zacha\OneDrive\Documents\Arduino\libraries\FastLED/FastLED.h:65:0,

             from C:\Users\zacha\Downloads\esp8266-nanoleaf-webserver\esp8266-fastled-webserver\esp8266-fastled-webserver.ino:57:

C:\Users\zacha\OneDrive\Documents\Arduino\libraries\FastLED/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

Ok, don't worry about the output, I get these messages too. I would try to install the exact same library version that I've installed:

  • Arduino IDE: 1.8.7
  • FastLED by Daniel Garcia: 3.2.1
  • PubSubClient by Nick O'Leary: 2.6.0
  • WebSockets by Markus Sattler: 2.0.5
  • esp8266 by ESP8266 Community: 2.4.1

Ok I got it working perfectly litterally right after I messaged that I just need to be more patient really bad at that. My impatience also took effect during the soldering as I had reversed the poliarity during that and it managed to fry about half my leds and some how three of them right before the error. So I get a new strand of 300 tomorrow and I will be using those to repair the leafs and to also implement more esp8266’s for controlling lights around my pc gaming area. I’m posting the make of the five I currently have then when I repair the other 5 I will update that make with the last of them. Thank you for all the help even when I was being impatient and annoying. Great project and I will have to recommend this to people. I’m excited to get to play around with my new raspberry and work on implementing node red in the future.

The sketch data didn't upload correctly, make sure that you have choosen for the flash size (4MB + 1MB SPIFFS), then use the sketch data uploader to upload the data. If it still fails send me a screenshot of you arduino upload settings and the output of the sketch data uploader.

Ok one final question I finally got everything but the raspberry pie which I’m waiting to get is it possible to customize the colors and stuff with out node red or with a computer and if so how because in the instructions it tells you do the secrets.h file and all that then it just switches to node red.

Ok, after you created the Secrets.h file and configured wifi ssid und password you have to upload the sketch and the sketch data (Instructions under section installation).

If everything works you can continue with Node-RED.

Ok so it looks like I’ve been overlooking things when reading the instructions. So to get it straight node red is an addition to the web app that was uploaded earlier. And so there for to use node red to edit from different devices you only need the esp2866 and the node red addition installed on it. The raspberry is so that you can integrate Amazon Alexa commands. Is this right if so i understand now and I greatly appreciate you sticking with me. Your project has gotten me to dive back into arduino again after I quit due to my lack of knowledge.

You can control the nanoleafs from any device just with the esp8266 without a raspberry. The node-red part that is running on the raspberry pi adds an additional webinterface with the nanoleaf designer, pattern editor and the alexa integration.

ok so first off how do I access the web app when im only running the esp8266 and not node red. And secondly when I went to import the flow on n ode red on the raspberry pi it said that more then 3/4 of the nodes couldn't be configured or something. the main thing I'm worried about is how to access the webserver I flashed the secrets and the webserver to the esp8266. is there anything I have to download on my pc to access it or is it just a address in the browser? after this I will be complete and I will be sure to upload a make.

To access the esp8266, just type in the IP address of the esp8266 in any browser. The nodered import errors come because you don't have the additional nodes installed or some did not install correctly

ok so I saw in previous comments you said you find the ip in the serial monitor when I open the serial monitor it is blank.

Ok thank you turned out the d1 I ordered showed up a dud pc won’t read it (even after installing And uninstalling the c340g drivers about ten times) and light doesn’t flash at all when I hook it up to another power source so I ordered a raspberry pie and 2 new nodemcu esp2866.

NodeMCU works too, but you'll have to hook it up to GPIO02 I think.

Hi!! I LOVE this project. After 20 days of waiting i finally have everything ready to make this project!!

I've already finished doing all the board things, and i've ready the server, BUT now i have a problem. My LEDS!

I can only get a quick flash in some random leds, with a 144 led strip and 16 leaf 9 pixels per leaf.

Just to try if i dont have enough power, i have just cut the strip and try only with 9 leds (1 leaf) but still doesn't work.

I've also tried to plug the leds onto the charger directly and same results, random flash sometimes.

Anybody know where is the problem? (i've also tried with the converter and same results) =(

PD: Im using D5 cause i had a problem with the soldering. And also, if i let it pluged in, the leds get hot, so they should work i think?


9 bad random leds in the strip, now i have just for 15 leafs ^_^

Nice! It would be sooo cool if you could upload a Make and share your design with the community! :D

Yeah sure!

Actually i want to uploads my 3d designs cause i have redesigned al the pieces (well, not redesigned, i did everything from scratch).

Im still modifying a lot of things like tolerances, now i have just one leaf working and want to make 15 leafs, but first i want to modify some things of my cad file and then print all in one row.

Ok so my question is with the node red integration can you implement that with an arduino uno from my websearchs it it is possible but my question is you say setup a static ip for the raspberry is the rasberry just acting as a connection point for the d1. And from what I understand you don’t have to connect the raspberry pie to the panels it utalizes the d1 to send info?

I understand the instructions up until the node red segment which I do want to have installed. At that point I get lost mainly because I am a beginner when it comes to things like this.

To clarify things, the wemos is connected directly to the nanoleafs, the raspberry pi can be located anywhere in your network.

Because of DHCP it's very common that the Wemos gets another ip address in some time. The raspberry sends HTTP-POST request to the wemos, because of that the ip address must be static.
It's recommended that you configure the static ip on your router. This process is different for every router, try google how to do that for your router.

I like this guide that gets you started with a raspberry pi.
Afterwards just follow the instructions on my github repository.

When trying to compile the ino file I get this error: 'pride' was not declared in this scope
Could you explain how to solve it?

Hi, please send me a screenshot of the error message.

I've had that issue too when i mooved things around on the includes. I've fixed it by moving the #include and FASTLED_USING_NAMESPACE to the top.

You might want try that.

Thanks for your help. I managed to solve it, I've reinstalled Arduino, this time not a beta version and It compiled without any errors.

Comments deleted.

As soon as you are in the same network as the wemos, you can connect to the webinterface using any browser to type in the ip address and connect to the gui website.

hi ,awesome project!
I have 2 questions:
1- when I fix the leafs to each other how do I tighten the screws? because I have the upper panels that close and the base is fixed to the wall with the rawlplugs.

2- Once the leafs are closed and locked, I can no longer open a single top panel? i have to open all?


1) When building the pattern you screw the leafs together but you leave a 4mm gap between each leaf, afterwards hang them onto nails ora mount them using rawlplugs at your wall. In the end place the top covers on them. If you used nails, you can easily take them off the wall and it's possible to tighten the screws from the back.

2) Yes, it's possible to open a single leaf

Thank you, got it to work now. So here is a special question, how could we integrate Google assistant? Maybe via Webhooks?

I don't own a google home, but this node red plugin looks promising: node-red-contrib-google-action

That would require to have node red running on another device besides the Wemos D1 running the lights, correct?
Via Webhooks and IFTTT I have managed to get a few things to work with Google assistant. To make that work I would actually only need to know if for example the on/off button is a GET form on the webpage of the Wemos D1. If so, I can then do a webhooks GET call with the value needed to activate the button. But my html knowledge is limited and looking at the source of the Wemos D1 page, I could not find the name of the forms.

Hi, the nanoleafs use POST request not get request. It's pretty easy to find all "/something".
Just open your browser (Chrome or Firefox) and open the devtools (CTRL + SHIFT + I for chrome). Afterwards head to the network tab.
Then click something on the interface, in the network tab the request should appear.

Thats very helpful, thanks. Now I only need to give the Wemos a fixed IP. Any suggestions?

I'm printing these next and I want to use Google home to control them too, did you get it to work right in the end?

Hi, i've tried setting the ip on the wemos and it worked, but I wasn't able to do that at my friends network, if you are lucky this might work:
Past the following code right after the WiFi.begin(...) function

IPAddress ip(192,168,0,200);   
IPAddress gateway(192,168,0,254);   
IPAddress subnet(255,255,255,0);   
WiFi.config(ip, gateway, subnet);

If it doesn't work you'll have to set this up on your router.

So... any chance that there would be a way to define exactly how I have my LEDs wired up? Rather than wiring all the LEDs in a given panel back-to-back, mine are wired in such a way that avoids needing to run wires across the middle of the leafs. However, that means that I'm going to have all sorts of silly looking stuff happening if I ever try to use any of the patterns...

What would be awesome (and I haven't dug through the code yet to see if this would even be able to be implemented) would be if I could define the wiring sequence to let it know that the first 12 LEDs are in Leaf 1, the next 6 are in Leaf 2, the next 6 are in Leaf 3, the next 18 are in Leaf 4, then the next 6 are in Leaf 3 again, etc. Hopefully that makes some sense... if not, I can post a picture of how I have my setup wired currently and that should clear up what I'm trying to say.

I'm just trying to get a setup that will allow me to test different diffusers to get closer to the original Nanoleaf level of color evenness across each panel, so not having wires jumping across the middle of the leafs to exit to the next leaf would be great.

I've got an idea how it could work:

First declare a global array on the top that includes the order:

int LedOrder[LEAFCOUNT] = {0,3,5,2,6,4,9,6,7,8,1};

Afterwards you'll have to adapt the animation that would be: rainbow(), sinelon(), juggle(), bpm(), fire(), water(), colorWaves(), pride().

To implement the reordering you have to replace the counter variable in the loops that write the leds array with LedOrder[counter variable],
e.g. leds[i*PIXELS_PER_LEAF]...leds[LedOrder[i]*PIXELS_PER_LEAF]...

For void bpm() the change should look like this:
Replace this:

void bpm()
  uint8_t beat = beatsin8(speed, 64, 255);
  CRGBPalette16 palette = palettes[currentPaletteIndex];
  for (int i = 0; i < LEAFCOUNT; i++) {
    for (int i2 = 0; i2 < PIXELS_PER_LEAF; i2++)leds[i * PIXELS_PER_LEAF + i2] = ColorFromPalette(palette, gHue + (i * 2), beat - gHue + (i * 10));

with this:

void bpm()
  uint8_t beat = beatsin8(speed, 64, 255);
  CRGBPalette16 palette = palettes[currentPaletteIndex];
  for (int i = 0; i < LEAFCOUNT; i++) {
    for (int i2 = 0; i2 < PIXELS_PER_LEAF; i2++)leds[LedOrder[i] * PIXELS_PER_LEAF + i2] = ColorFromPalette(palette, gHue + (i * 2), beat - gHue + (i * 10));

If you need further help, just text me.

please tell me, how i will find the Nanoleaf Designer or the Nanoleaf Custom Pattern Designer?
If i go to the gui of my node red server i will not found them. only a empty flow 1 is shown.
if i klick on the import clipboard button, nothing happens.
plz help and sorry for my stupid question and my worse english.

Hi, you have to import the contents of "NodeRED_flows.txt" by clicking on the 3 dashes in the top right corner import → clipboard. Afterwards click deploy and connect to the gui via https://IP-Address:1880/ui


that was the clue !! thank you very much. great project.

Comments deleted.

Great project, thanks for sharing!

I see that you forked my esp8266-fastled-webserver project on GitHub, which is great, but you didn't enable the Issues section. So I'm getting questions about your project in mine: https://github.com/jasoncoon/esp8266-fastled-webserver/issues/119

Would you mind terribly enabling your Issues section? It seems a lot of the questions here are software related, and might be better suited for fielding on GitHub anyway.


Hello! I want make a picture with 24 leafs, but it need ~4A current. It a really big value and i have question: what if we use WS2811? It have 12v input and current must be lower. For 5v on ESP8266 we can use 12v to 5v step down module.

I know that on WS2811 three LEDs work as one, so you can place 3 pieces in each corner.

The only thing I am not sure about is the efficiency of such a decision, so I want to ask your advice

When you are going for 24 leafs, you will definitly run into power/voltage drop/current issues. I've never tested the WS2811 for my self, but I think your wiring should work fine. One little change is required in the arduino code, the led type must be set to WS2811.

I'm pretty sure your plan will work.

What is the maximum number of LEDs you can use?

Hi, on the software side there is no limit. But at some point there might be some power issues

Thanks for helping!)

Cool!Thank you!

Anyone have trouble getting solid color to show the same shade on all leaves? When i try WHITE at full brightness, I get the first 2 cool white then progressively more warm white. At 50% brightness, all leaves are the same color.

Yes, this is a hardware issue.

This is caused by the voltage drop over the led strip. When white is turned on, all 3x dyes in the pixel are turned on, causing 3x more power consumtion than e.g. red. I measured around 3.5 volts after 6 leafs when white color was turned on, 4.6 with red.

This effect can be reduced by using thicker wires inside the leafs to reduce the resistance so there is less voltage drop.

Fix: use a second power supply and connected to the last pixel of the last leaf. This might complete remove that effect as shown here.

Looks like I got the wrong PS. It is only .5 A

Thanks for the reply. I used 22AWG wire for 9 leafs, (108 LEDS). I'll take some voltage readings. What AWG would you recommend? Would running a separate pair of 22AWG wires from the power plug to the end LED help? I'd rather not re-wire the entire project.

I've used AWG 20 wires, but I wish I went AWG 18. On the other side thicker wires make the soldering part more difficult.
For the second power line i would use 16-18 AWG wire and connect it to the last leaf.

Thanks, I'll give it a try. You may want to update the instructions to use thicker wire.

Thanks mate for your great project,

I followed the instructions and got the webserver to work but i can't control the conected leds. Only 1 of 18 leds is lighting up. I've already tested the led stripe and it worked flawlessly.

Hi, have you set leafcount and pixels_per_leaf in the config section? Pixels_per_leaf must be a multiple of 3, because of the 3x corners.

Please send me a screenshot of your config section.

Is there any possibility that you could slim down the webserver that gets flashed to SPIFFS? I have a couple of D1 Mini Lite boards but they only have 1M of memory.

I did some research and wasn't able to find the excact size of the spiffs, if it's 1M Flash + 512k spiffs you might get away by deleting the bootstrap.min.css in the data/css/ folder and replacing the following line in the head of the edit.html, simple.html, index.html, wifi.html:
<link rel="stylesheet" href="css/bootstrap.min.css"> with this
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
this will shrink down the data files size to 504k

If it still isn't enough, try deleting the images, edit.html and maybe the fonts.

Btw. thanks for your donation :D

So update, it mostly works. It's controlling the LED strip but the web interface doesn't fully load properly. It loads enough to control things, though!
For anyone else out there with a Wemos D1 Mini Lite, the secret was deleting bootstrap.min.css and changing the line in the head of those files mentioned, and deleting the files glyphicons.svg and glyphicons.ttf. The resulting web interface will look like the attached image, but it's functional.

Awesome, I'll give that a shot and let you know!

hi mate,

i got a little issue on my side i think, here is the situation and the problem that i got:

i did all the things you and github suggested, and i have succesfully uploaded the code and the SPIFFS.
after that i can enter the web GUI, so that is all good, but....

i wanted to test the code on 12 leds from my strip (i cut a strip of 12 leds and adjusted the code with leafcount 3 leds, per leaf 4)
but as soon as i want to control the leds it doesnt work, the first led stays off, the next 6 are white, the 8th is green and the rest are off aswell..

and the control thrue web GUI doesnt seem to work... what am i doing wrong any idea?

i do use an external 5v for the leds
i use a mini D1

i really want to make this, this is freaking awesome..
an you please help?

Jos Ras

Hi, I've forgot to mention in the docs that the pixels_per_leaf variable must be a multiple of 3, because the animations are adapted so that in each corner must be the same amount of pixels → 3 corners → 3*x amount of leds.

Try pixels_per_leaf = 3 and leafcount=4.

I jave tried that too... Same issue occures

Ok, please upload a screenshot of the configuration section of the arduino code.

do you happen to have a picture of your settings used to flash the SPIFFS? im not sure if im using correct settings.. TIA

thanks for the help Surrbradl08, here is my config code:

thanks a lot mate!!!!

works like a charm now!!! thanks for your awesome support!!

Nice, it would be so awesome if you would post a make here and share your build with the community :D

i will mate, just printing the parts right now

Looks great got a few printing at the moment, now daughter has seen them and wants some in her room.

Any timeline on the Node Red Integration?

Node-RED and Alexa integration is here :D

Node-RED and alexa integration might follow next week. The node-RED part is pretty simple, it just sends some http post request.

Can you post a few more pics of the wiring? Especially how you routed the wires thru to the next panel and kept them out of the way of the leds?

Here's how I wired it. Still trying to work out how best to fasten them together. Also noticing that if I set all leafs to white, the last 3 are not the same color, more of an off white. Anyone else seeing that?

Here's my step by step. Waiting electronics parts to arrive today.

  1. Download https://github.com/NimmLor/esp8266-nanoleaf-webserver.git

  2. Extract esp8266-nanoleaf-webserver-master.zip

  3. Remove -master from name

  4. Remove -master again

  5. Open esp8266-fastled-webserver.ino

The file "esp8266-webserver.ino" needs to be inside a sketch folder named "esp8266-fastled-webserver". Create this foler, move teh file, and continue?


  1. Copy all .h files to \esp8266-nanoleaf-webserver\esp8266-nanoleaf-webserver\esp8266-fastled-webserver

  2. Add Libraries:
    Arduino WebSockets

  3. copy \esp8266-nanoleaf-webserver\esp8266-nanoleaf-webserver\data to


  1. Download the tool: https://github.com/esp8266/arduino-esp8266fs-plugin/releases/download/0.2.0/ESP8266FS-0.2.0.zip.
    unzip to: \Arduino\tools\ESP8266FS\tool\esp8266fs.jar

  2. Open \esp8266-nanoleaf-webserver\esp8266-nanoleaf-webserver\esp8266-fastled-webserver\esp8266-fastled-webserver.ino

  3. Make sure you have selected a board, port, and closed Serial Monitor
    Select Tools > ESP8266 Sketch Data Upload. This should start uploading the files into ESP8266 flash file system. When done, IDE status bar will display SPIFFS Image Uploaded message.

  4. Set Leaf and LED count

  5. Create the Secrets.h file. Create a new tab (ctrl+shift+n) and name it Secrets.h, this file contains your WIFI credentials and it's structure must look like this:

// AP mode password
const char WiFiAPPSK[] = "WIFI_NAME_IF_IN_AP_MODE";

// Wi-Fi network to connect to (if not in AP mode)
char ssid = "YOUR_WIFI_NAME";
password = "YOUR_WIFI_PASSWORD";

  1. Upload:

Build options changed, rebuilding all
In file included from C:\Users####\Downloads\esp8266-nanoleaf-webserver\esp8266-nanoleaf-webserver\esp8266-fastled-webserver\esp8266-fastled-webserver.ino:57:0:

C:\Users####\Documents\Arduino\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.006

pragma message "FastLED version 3.002.006"


In file included from C:\Users####\Documents\Arduino\libraries\FastLED/FastLED.h:65:0,

             from C:\Users\####\Downloads\esp8266-nanoleaf-webserver\esp8266-nanoleaf-webserver\esp8266-fastled-webserver\esp8266-fastled-webserver.ino:57:

C:\Users####\Documents\Arduino\libraries\FastLED/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"


Sketch uses 341116 bytes (32%) of program storage space. Maximum is 1044464 bytes.
Global variables use 36744 bytes (44%) of dynamic memory, leaving 45176 bytes for local variables. Maximum is 81920 bytes.
Uploading 345264 bytes from C:\Users\Brian\AppData\Local\Temp\arduino_build_936604/esp8266-fastled-webserver.ino.bin to flash at 0x00000000
................................................................................ [ 23% ]
................................................................................ [ 47% ]
................................................................................ [ 71% ]
................................................................................ [ 94% ]
.................. [ 100% ]

Can you recommend another power supply? The one linked 5v 3A is micro USB. Or can that be plugged directly in to the Mini and skip using the DC plug?

Ok thanks. A new power supply is in the list.

Don´t know what´s wrong but i can´t get the code compiled in my arduino IDE.... Always got many errors depending on "]" or ";" and ","
All libraries are installed.... Use Wemos D1 Pro Mini which shouldn´t be a problem. Using Wemos Board library Version 2.4.2

Some tips ???

Regards, Gordon from Germany

First, have you created the Secrets.h file?
I can provide you with the exact libary/board versions that i am using:

  • Arduino IDE: 1.8.7
  • FastLED by Daniel Garcia: 3.2.1
  • PubSubClient by Nick O'Leary: 2.6.0
  • WebSockets by Markus Sattler: 2.0.5
  • esp8266 by ESP8266 Community: 2.4.1

If the code still doesn't compile, I would recommend to setup a fresh Arduino IDE and reinstall all libraries. Or try it on another PC or in a virtual machine.

thanks for your fast reply. I´m going to try it on a other PC, because at the PC I´m using now, I have only Version 1.8.5 on Arduino IDE...
Also going to install all libaries new and try it again.

PubSub 2.7.0
Websocket 2.1.1
ESP8266 .... a different version like it seems.... 1.0.0
FastLED 3.2.1

Regards Gordon

Seems to work now on a whole new installation on the notebook of my son.... THX a lot....

Hi there, really like what you have done here. I have been looking at these lately, namely moodlite but I think this looks better so I am going to build this. Can you just tell me, once the sketch and spiffs have been uploaded, how do I get the web app to display on my phone? With moodlite I have to connect to its WiFi SSID and then head to a certain web page,, is this the same? Many thanks.

You can either connect to a wifi network or the ESP8266 can create an Access-Point. Afterwards you can connect to the webinterface by entering the ip that is displayed in the serial monitor.

Hi, after uploading the software using the "ESP8266 Data Upload" option I find a new device in my network but when I try to access via browser I just see "Not found :/". Any ideas? Thank you!

Hi, you might have not chosen the flash size with 1M SPIFFS.
These are my settings. If you still have issues please send me your settings

thank you for your fast answer!, I´ve reuploaded using similar settings but still same result.

Ok, when you upload the sketch data, does a progress bar show up in the console. Sometimes when it says upload complete, even tho it didn't upload any files.
You should try connecting via serial to the wemos, when the wemos boots up it lists the contents of the spiffs.

What does the serial monitor say? Screenshot please :D

Can you share the settings of the serial monitor please?,

There are no settings for the serial monitor just the baud rate and that must be set to 115200 (or maybe 9600). The serial monitor can be found in the tools menu. I've uploaded an image of the serial monitor, just to show how it looks (it doesn't show the nanoleafs).

I knew the tool but It´s empty, I don´t know why.

Here is the output of the ES8266 Sketch Data upload

[SPIFFS] data : D:\Descargas\esp8266-fastled-webserver\data
[SPIFFS] size : 1004
[SPIFFS] page : 256
[SPIFFS] block : 8192






















[SPIFFS] upload : C:\Users\Raul\AppData\Local\Temp\build8e546cf69320b80a84845aced065a337.spiffs/esp8266-fastled-webserver.spiffs.bin
[SPIFFS] address: 0x300000
[SPIFFS] reset : nodemcu
[SPIFFS] port : COM4
[SPIFFS] speed : 921600

Uploading 1028096 bytes from C:\Users\Raul\AppData\Local\Temp\build8e546cf69320b80a84845aced065a337.spiffs/esp8266-fastled-webserver.spiffs.bin to flash at 0x00300000

................................................................................ [ 7% ]

................................................................................ [ 15% ]

................................................................................ [ 23% ]

................................................................................ [ 31% ]

................................................................................ [ 39% ]

................................................................................ [ 47% ]

................................................................................ [ 55% ]

................................................................................ [ 63% ]

................................................................................ [ 71% ]

................................................................................ [ 79% ]

................................................................................ [ 87% ]

................................................................................ [ 95% ]

............................................ [ 100% ]

The sketch data upload looks fine.
Try opening the serial monitor and try resetting the wemos with the onboard reset button. If it still fails try 115200 and 9600 baud rate.

First capture reseting using 9600 bauds, second one using 250000 bauds

And 115200 just shows a blank window??

Ok, I´ve just discovered that sometimes I have to unplug and plug again the usb to apply baudrate changes. I can see now that spiffs contents it´s empty. :(

A friend of mine had a similar issue. Try setting the flash size to "4mb (3mb spiffs)", afterwards upload the sketch and the sketch data. If it still fails try switching back to "4mb (1mb spiffs)" and upload both again. This resolve the issue of my friend.

It´s finally working! (At least the webserver), this is how I did it, just in case is helpful for someone:

  • I tried to flash using 4mb(3mb spiffs) without luck,
  • I tried to flash again using 4mb(1mb spiffs) same result.
  • I installed an old version of the es8266 library (2.4.1), I was using 2.5.0 beta 3.
  • I verified the sketch and tried to upload using upload (Ctrl+U). And now it´s finally working!!Ç
    Thank you so much Surrbradl08!!

Nice!! Have fun! :D

I did thing as per the tutorial but when I click the ESP8266 Sketch Data Upload I get this message and nothing happens , this is my first time using arduino IDE , I am trying cuz Im in love with your nanoleaf relicas and I want to make them , can anyone help me out

Hi, you might have the wrong configuration. Please send a screenshot of the tool menu.

And this is where I am at now and my settings

I think you did not create the Secrets.h file. Instructions on this step are found on github.

I did.just dont know if i should and what where it says WiFiAPPSK

The lines are a comment. Remove the // in front of the line

I guessed im missing something really simple sorry , fisrt time dealing with arduino . And how do I connect to the NodeMCU via phone or laptop , type in a specific adress in the browser , like or something ? Anything else I need to change or do or just ESP sketch data upload ?

You can connect to the webinterface on any device.
There is no need to change anything regarding the sketch data, just upload it. But make sure you have flashed the sketch first.

Is this normal or ? I just removed the // like you said but now Im getting this errors.Also What should I type in to look for the ESP , I cant find a code line with an adress or a name for it

Hi, you have also commented out the text, only the lines that don't start with "const char" or "char*" must have // in front
it should look like this

// AP mode password
const char WiFiAPPSK[] = "WIFI_NAME_IF_IN_AP_MODE";

// Wi-Fi network to connect to (if not in AP mode)
char* ssid = "YOUR_WIFI_NAME";
char* password = "YOUR_WIFI_PASSWORD";

Ok Node connecting to my wifi now , I found its IP out and connecting to it , but nothing changes when I try to change something , there is 1 LED thats lid with a solid color and does nothing even if I try to change something from the controls

Have you changed the pin in the code where the strip is connected to? The default pin is D4 on the Wemos D1 mini.

And the strip is connected to D4 on your Wemos? Or are you using a nodemcu?

nodemcu and its connected to d4

Are u using an external power supply? Have you connected it according to the wiring diagram

IT WORKS !!!! FINALLY IT WORKS . for some reason it works on D2 , I didnt change it from D4 to D2 anywhere , but i just decided to try out all the data pins and it worked on 2

And the error message im getting now


first of all...awesome work man just awesome!!!

i really want to make these but the Github link seems to be not working anymore... could you be so kind and fix it??

thank you so much!!!


Fixed it. I've renamed the github repository and forgot to update the link in the description. :D

Hi, Im buying all of the parts that you listed, but I want to go full size with the tiles, Im planning to print this https://www.thingiverse.com/thing:3269265 for 6 leds on each corner, but In your description it says that 5 leds per corner is the maximum, what is the reason? I have a bigger Power supply, I want to print 12 tiles.

Nanoleaf Replica Full Size
by spAnser

There is no limit on how many pixels are in each corner. But I don't recomend going for more that 5 pixels per corner on the 60leds/m strip because the strip might interfere with the connectors on the side.

Im ordering the 144 led/m strip, so I will give it a try and will let you know how thing goes when everything arrives. Thank you so much for your fast response. I really appreciate!!

wow!!! amazing!!, Do you plan to add a microphone for Music recognition setup?

I don't have a mic-breakout board at home. But i might order one, and implement this in the next update that adds alexa support.

Thanks!!! that would be awesome!!!

Can you check your model? It looks like for the Top_Edged files, there is a slight rounding at the corners of one of the vertexes on all 3 versions. See the attached picture. Looks awesome otherwise!

Thx! Files should be fixed now.

You fixed one edge, but not the other one. :)

Now it's fixed! :D

Wow! When I uploaded my thing, I did not expect that it would become so popular, or that someone would develop it further into this kind of level. This is almost like the commercial product. Nice work!

Oh thank god... I feared I was going to have to make the models... ;)

Top work my friend. I'll be sure to post up how they turn out :)