MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now


Nanoleaf Light Panel Replica

by Harvahammas Nov 22, 2018
Download All Files

Thing Apps Enabled

Please Login to Comment

Is there a complete build list for this? I want so badly to try it, but being a rookie, am hesitant to try something of this caliber without a guide.

Is it just the lights or does it also come with reaction on sound and possibility for scripts?

Comments deleted.

Could this be done with silver PLA?


Just another question. Can I use a Arduino Pro Mini instead of the Nano?

Any arduino board should do.

The adafruit code doesnt work for me.
It lights up as a fade from red to yellow-ish and stays there.
The rainbow doesnt move what so ever.
I only edited the data pin and the num_leds, im using a wemos d1 mini, a level converter and ws2812b leds.

What version of the FastLED are you using? 3.2.8 leads to such bugs, update to 3.2.9 if you haven't got the latest one.

Ah, ich sehe gerade dass du deutsch sprichst :)
Ich habe dich auch in Discord geaddet, weil ich eigentlich deinen Code nutzen möchte. Da kriege ich beim connecten zum Webinterface aber nur nen "not found" error.
FastLED 3.2.9 (auch ältere probiert), Arduino IDE 1.8.9

Could you provide a closed cover (0.6-0.8mm thickness) so a paper would not be needed. With glass or FR4 plate, you can get a very nice finish for that.

Thx a lot!


There are multiple remixes that do exactly that.

Found it. THX!


what are the meassurements???

The panel is 155mm wide.

any links to vid or wiring

Is the normal white pla ok for this, or I need to get transparent pla

The whiter the better. Transparent would leak light from the sides of the panel.

I hooked up 15 of the LED's and connected power to the Arduino only to find out that only to discover 9 of them light up (3 panels worth). Any idea as to why this is? I tried using different LED's where it no longer lights up and it doesn't change.

Check the code in the Arduino it might be that only 9 are set to on.

Sounds like a problem with the leds, are you sure they are connected the right way? The last led to light up, or the first one to not might be broken and doesn't let the data signal through.

Hi, great project!
How did you attach it to the wall?

so you drilled holes in the body parts?

Hi, could you please add a 3-sided Body?

What do you mean? The "Nanoleaf_Body.stl" has connections on all 3-sides. Maybe its named a bit confusingly.

Haha, okay sorry - i meant that :D

Could you send me a link of your cloudpaper? Google is not helping me :( Does it have some sort of structure or is it just heavier than 80g/m^2. If so what weight are you using?

It was bought from a local craft shop. The density of the paper was 100g/m2.

Hi, I've coded an awesome software for these nanoleafs. It features a responsive Webinterface with lots of different patterns and runs on an ESP8266. In addition, there is Node-RED support that runs on any linux device to be able to create custom patterns without changing anything in the code. The software is compatible with Harvahammas Nanoleaf Light Panel Replica and with my Smart Nanoleaf Replica.

In the newest update it even features voice control via Amazon Alexa.

If you are interested you might want to check it out here. The software can be found on GitHub

Smart Nanoleaf Replica

Awesome! How do I install the included code? Im new to Arduino and am struggling a bit..

These should get you started:



In short, you need to install arduino Ide software to your computer. You also need to install FastLED library for controlling the leds. Connect the arduino to computer with usb cable, copy and paste the code to Arduino Ide program and upload it into the arduino board.

I just printed 9 of them with small changes..... the bottom of the base i printed only in 0.4 thickness and made the top without paper 0.4 mm thickness too. I wanted to have the chance to flip them cause of the connections. I also changed printing style to print triangle on triangle and not straight the way. so i have a really nice surface. (Printing on glass with geeetech PLA white and 104% flow on the glass). For the connections i used servo cable extensions 50cm and cut them. used some hotglue for the male plug and the female has about 3cm of wire which comes out of the leaf to allow plug in the next one. For me it works....

If you like this project there is a wifi controled version with a big comunity here https://moodlite.co.uk/

Someone should try using neodymium magnets as connectors, they are electrically conductive.

Fantastic project, one quick question though. Isn't the arduino nano limited to much lower voltages than you're using? Or is this connected directly to the 5V power supply, and only the data pin is connected from the arduino to the leds? Just wondering as thought the arduino was limited to about 800mA or so, but I want to make quite a large string of these.

The leds and the arduino both use 5v which is coming from usb port of a computer. The regulator of the arduino board is not used on usb power, but the maximum current sourced through the board should be limited to <2A. On bigger strings of panels, power should be delivered from a dc-jack or separate power supply.

Ah gotcha, was unaware it differentiated between usb and power jack (I know the nano only has usb, but I remember using a barrel jack on a previous project and having to rig up a seperate driver for a small motor that dre about 1.5A at max).

Good to know then. Presumably can also use a 5v 2A rated usb wall socket for same ffect? Or must it be utilising the fast charge smart aspect of a computer usb port?

Probably a moot point, will likely need to run a seperate power supply anyway but might make a few smaller ones as gifts. Thanks for help!

Awesome project! I've started printing and have ordered the lights, servo wires and a few arduino nano clones. I'm new to arduino, but from what I understand, I'll use the IDE to upload the code to the board and that will get it working. Is that right so far? Are there any apps or anything to add more functionality? I also ordered a HC 05 bluetooth board but I'm wondering if it would have been better to go with a wifi board to use the web interface...any thoughts?

You can use a Wemos D1 board to control the lights via webinterface. I've adapted a software to work well with the diy nanoleafs.
The software can be found here.

Smart Nanoleaf Replica

Cool, thanks. Do I use that board along with the nano board or does the D1 handle everything on own?

Edit: I read through your link a little and I see how it works on its own...got a D1 on the way. Should be a cool project to learn on. Thanks!

I've my own little version of the nanoleafs and adapted a pretty popular esp8266+ws2812b code to work well with the nanoleafs. There are 19 different animations available that can be selected via the webinterface that is running on the ESP8266.

If you are interestered, you may want to have a look at https://www.thingiverse.com/thing:3354082.

Smart Nanoleaf Replica

For anyone who has the nano Aurora system, how well does this integrate?

A friend of mine did some changes to the fusion 360 files, so that the illumination would be more uniform accross the paper and now it is a lot harder to spot single pixels.

We are going to work on some channels so that the cables are more neatly packed and we are trying to use standard dupont connectors between individual panels, so that the connections aren't hard wired.

so wheres the file if you improved it?

When will the update be available?
Thanks for your great work!

Looks great, what did you change to get that illumination effect?

Comments deleted.

Hey everyone, I've updated my prior design to include more than just rivets to hook the panels together (and I've also updated the rivet design to be much more robust) https://www.thingiverse.com/thing:3307019

  • Rivets
  • Control Box
  • Printable Diffuser
Nanoleaf Replica - Build kit
by TiKro

hi.how did you close the front of the triangle.not found in files

Regular office paper can be used as a diffuser.

And on what algorithm there is a proliferation of color? And if you put the roots in the opposite direction from the main artery? Or are there restrictions? After all, diodes are inserted in series, not in parallel?
I would try to print a column in the middle of the base to support the paper.

Want use such diodes 10~1000 4-Pin SK6812 WS2812B WS2812 LED Chip & Hea I'm thinking of modeling a footprint for them in your model. And I want to print on transparent plastic to achieve the effect of amblight.And I want to print the aperture of plastic, but not into the net, and concentrically method in 3D of simplify.

What is the best way to cut the paper/diffuser?

Use the cover as a template to draw the shape of the hole to the paper. Then cut the triangle out of the paper but 1-2mm bigger than the hole was. Once you have made one diffuser that fits nicely, you can use that as a template instead.

Comments deleted.

is it possible that somebody could give me a list and possibly the link to all of the screws and electronics i need to make this?

Have you looked into pogo/spring pin connectors? Seems like it's right down your alley.
(Look for "Rectangular Connectors - Spring Loaded" on digikey).

Also - from the photos it seems that the housing for the arduino board is melting at the usb connector.

They would probably work nicely. But again, it would add a lot of complexity to the build.

When I put the arduino in, I heated the plastic with a lighter flame to soften it. So that I could push the board into the plastic to keep it tightly in place.

That is the most beautiful thing I have ever seen

Maybe you can use a little overhang of plastic over the spot were the LEDs start in order to not see them as clearly.

When I'm back from holiday, I've made some panels in fusion 360, the main area will be .4 thick which is 2 layers and on each corner where the LEDs are it will be .6 three layers thick to help diffuse the leds

What kind of diffuser was used? That is the portion of the project I cannot figure out. I know it says paper but what stuff do you recommend?

Regular office paper works surprisingly well, but of course you can use some "real" diffusers if you can find some.

is it possible to write an arduino code so that it reacts to music via the sound data sent out to the speakers?

Yes! You don't have to use a microphone, instead you can transfer the data over serial communication.

I was wondering the same thing. I believe one could adapt from this tutorial. https://www.hackster.io/buzzandy/music-reactive-led-strip-5645ed

I was reworking the base panel in Sketchup when I realised the panels could possibly be held together with neodymium magnets. And connections between panels could be done with passthrough headers or the like. Thoughts?

I was originally planning to use RC servo connectors between each panel, but the connectors seemed too bulky and the black color was clearly visible through the panel. I came into a conclusion that it's more hassle than it's worth. If I ever want to rearrange the panels, I can just unbolt the panels and resolder couple of wires in a few minutes and be done with it. Magnetically interconnecting plug-and-play style light panels sounds like a really cool idea, but it makes the structure quite complicated.

I will print a couple of bases and try the magnets to see how they perform.

you could even use magnets as the connection like a Mac book charger

  • Posted with 3D Geeks Thingiverse Browser App

I had a similar thought with the magnets let me know how it turns out I don't have any lying around right now.

I have always wanted these but also wanted full size ones. Instead of scaling these update I set out to create replicas of the originals. Using 6 LEDs per corner with 144/m

I attached some prototype pictures of my current design. I will probably upload the files here once I get them to a spot I like. Just awaiting some parts from amazon to check clearances. The light spreads more evenly in person, like the design here pictures don't really do it justice.

Anyways thanks for the design even though I only ended up using a modified version of the example code.

will edit with better pictures once I find them grabbed these from a spot I uploaded that really did a number on the compression

Let us know how your design choice with 144leds/m went so far! I'm really interested in the design, since you would always be able to dial the brightness down but not up. Cheers

Will do. Ordered a bunch of things to turn this into a lengthy more in-depth project.

The real issue is cutting the LED strips they are pretty strong. A few I ended up with such small pads to solder onto it is difficult. Maybe I can uncover more copper under the top coating to solder to.

i think they work great though very bright. I haven't seen the real ones in person so I can't directly comment on comparison.

Anyways the lengthy more in-depth part I am working on is using ATTiny85s and NRF24L01+ in an attempt to modularize it a little bit. Still doing research the NRF24L01+ don't leave any pins naturally on the ATTiny85s but you can wire it up using less pins but lose the ability to transmit so they can't connect to the base and register themselves. But I might've found a guide to hook up the CE and CSN pins to the same ATTiny85 pin so it can hopefully send and receive.

If that is possible then technically these could get very interesting where the original nano leafs needing to be physically connected to run from the same base. Mine with using RF signals would work as long as the panels get power.

If all this ends up working I will be posting my first thingiverse thing. With options to use ATTiny85s and also not use them to save on cost. However I had some an interesting idea for making them module with and without them.

Have you considered using one of the other attiny chips? The 84a for example is the same price as an 85 on farnell but has 12 IO lines.

I did think of that. I was trying to keep the possible components small and hopefully out of the way. I might get a few to test though and see how it turns out.

Do you see the leds as clearly in real life or is it just the photos that make it easy to see them?

The leds are less visible in real life, but not a whole lot. The color is more uniform across the panel than in the pictures.

Maybe mounting the LEDs in a slight down angle, pointing to the base would help

Getting the diffuser further away from leds helps a lot. Making the panel couple of millimeters thicker makes leds less visible, but the added thickness isn't so good to look at either.

Maybe an overhang over the spot where the leds are would help

Nice design. I'm printing a 12-unit set at 135%. I perhaps didn't tune the slice as well as I could have, as each base piece is taking six hours!!!
No problem though, it gave me time to work on the software.

I've designed a 'module' to connect to one of the triangles, and housing an esp8266 in there, with a chassis mount USB-A port (micro usb is so fragile) with a small push-button.

I've wrote a simple app for the ESP that has multiple patterns (fixed designs, but easy to change/add in the code). The pattern can be selected with the push button, or it can be selected by MQTT (brightness available too)

This will look nice on the wall in my new place once it's finished.

Using an ESP you could also use the Blynk app. I am not sure how to make presets for Blynk though. Please share your app when you get it done because I want to use a spare ESP that I have lying around. I wanted to be able to make fixed designs to easily switch to.

Awesome! Be sure to share your work when it's finished.

Not tried Blynk, but I'll take a look at it. Generally find that "all in one" solutions, solve problems with too many compromises.
I've just pushed an early but working copy of my code up to GitHub, feel free to try it.

It is designed for ESP8266 and I've made no attempt to make it work on ESP32 because I have too many 8266 boards just laying around needing a purpose! It will allow a push button to be connected to a spare GPIO which will cycle through the defined effects when pressed. It can connect to an MQTT server and listen for events so that a specific pattern can be set, or so the brightness can be changed.

Patterns are defined in pattern.h and it's simple to add more, remember to change the 'totalPatterns' define in angleLight.ino if you add some.
This was only coded in a day, and C(++) is not my strongest language, so go easy on the laughter!!!


Hi Mat,
Just tested your code on a NodeMCU and it works well. I like the fact that you have added the rare to see physical button (haven't tried that feature yet) and even included the use of the wifi manager.
I have it connecting to Adafruit.io so I needed to change the MQTT elements quite a bit (my fault for using less common site rather than a mqtt broker) but I like the way your code looks and is pretty easy to understand. I even added another color pattern.

Might be ambitious but I wonder how hard it would be to add sound reactivity. I can imagine manipulating the "buffer" to make them flash by faster.

Awdark, Thanks for the kind words. I use Homebridge so I already have an MQTT broker running on the lan, so it becomes my default way of making things work! I'll be writing a Homebridge plugin for the light at some point... possibly.

I don't have an ESP board with a microphone so I've never tried to read audio with one, but yes I think adjusting the Delay value could produce results. I doubt it's difficult to do though, I'll look into it and add the function if I can.

Awdark, Thanks for the kind words. I use Homebridge so I already have an MQTT broker running on the lan, so it becomes my default way of making things work! I'll be writing a Homebridge plugin for the light at some point... possibly.

I don't have an ESP board with a microphone so I've never tried to read audio with one, but yes I think adjusting the Delay value could produce results. I doubt it's difficult to do though, I'll look into it and add the function if I can.

Hi Mat,
I have tested your code on a Wemos D1 but I can not quite get it to work. WLAN and MQTT connected and MQTT also show "online" but it does not matter to the LED's, neither by MQTT nor by button.
The LEDs hang on the Wemos at PIN D2. When plugging in the USB cable, the first 3 LEDs light up shortly but that's it.
Any Ideas?

Dave, Thanks for trying the code! Sorry it's not working. Not too sure what may be wrong. The code is running for me on a Wemos D1 and seems fine.
At least the wifi and mqtt sections worked - they can be tricky at times. Perhaps your D2 pin is faulty? Move the LEDs to a different pin and remap in the sketch and see if that helps. I made some small changes to the code a few days ago so make sure you've got the current version, and feel free to use the GitHub to discuss if you like, to avoid overwhelming the comment section here ;)

Can you try some example codes from the NeoPixel libraries and confirm your hardware/wiring that way?

ESP's are 3v3 logic, so trying to feed a 5v Neopixel won't work unless you use a logic level shifter to lift the signal to 5v.

Are you speaking from empirical experience, or a data sheet? I have multiple devices operating WS2812 style led's from ESP devices. Power them from 5v, feed it a 3.3v logic signal. It works fine.

If the power supply is a little high, you can run into troubles as the 'high' signal will be too low compared to the supply voltage. Logic shifter is not needed, the Vcc can be dropped with a simple diode in series with the supply to the led strip.

Hi again,
maybe the Problem is MQTT. In the Serial Monitor I get Attempting MQTT connection... all the time. When the wemos starts it connects one time (as I can see on the MQTT Server) but then it tryes to reconnect again and again... Is there any loop in the Code? I tryed to find but I can´t find anything.

maybe adding a foil or chrome like vinyl inside to distribute light even more. Fantastic job either way, i love it

That sounds interesting. Not a big piece, maybe just a round piece in the center of the triangle to help fill more. Great idea.

You could most likely use an ESP8266 type board and use the application "Blynk" to control it by phone. Just an option.

Do you think i could use 3 leds per corner instead of 2 to make it brighter without incurring the hotspots?

Most likely, although it is already plenty bright with only 6 LEDs per panel.

VERY cool... might try this as my first dive into this kinda stuff.
Would ultimately love to set up some light strips to do custom lights outside the house as the seasons and holidays change.

Do you have a write up on getting the Nano set up? or is it just a matter of pasting the code you gave into a text file on the nano? That's the bit I'm in the dark about. Will DEFINITELY be working on making one of these soon for my kids room

Thanks... this is gonna go a LONG way to keeping me tinkering.

Would you be able to upload a picture of how the 4 led strips are connected to the arduino please? Thanks for sharing a great project!

Added a close-up picture of the arduino board.

Would it be better if the lights in the corners were inside the corner, so you only got indirect light? Might also try it with some sanded clear perspex as the diffuser.

The light would just glow through the plastic. The light easily penetrates 2-3mm of solid PLA plastic.

instead of using the paper would it be possibly to say use a 1 or 2 layer print with white petg? Or do you think you would not get the same effect?

It could work. But the fill pattern would be clearly visible, making non-uniform light pattern.

if you use 100% infill it wouldn't be as noticeable. And you beat me to these... i've been meaning to model these.. Great job..

ah yeah, suppose vase mode wouldn't work for that would it

Not without some big modifications. But as it's only a 10-15min print, I dont see much point in it anyway.

Which part is only a 15 minute print? I'm running the covers at about 1/2 hour each... I might need to double check my settings. The bases at .2 take about 2 hours a piece for me.

Printing while my LEDs get here from China, decided to skip the Nano and go with a remote unit so my kid can use it at will and maybe later on we can "upgrade" the control by adding a nano and code.. he's only 5 after all lol

I can print the cover pieces in less than 15 minutes. But my printer is tuned for speed, .4mm nozzle and layer height with 80mm/s feedrate.

Re-sliced the cover in vase mode and BAM.. 12 min, per Cura. Gonna give it a go tonight.
Hopefully my LEDs come in from China soon, so I can start the electrical.

You know what? I need to re-slice the covers. I forgot my initial slice I ran slow just to check size. I run Klipper and can do 80-100 no problem.. 80 is what I run the bases at

Comments deleted.

first of all thanks for the design, ive just ordered the nano and the rgb ws2812b strip, could you tell me the type of wiring i need to order, thanks

The ws2812b strip needs 3-wires to work, so a 3-wire bundle can be used. I used RC servo wire, which should be easy to find.

I used strands from an old IDE ribbon cable :)

great stuff all stuff ordered, look forward to project will upload in a couple of weeks when parts come, start printing panels in preparation

This is so nice. I just ordered a Nanoleaf system for my new apartment, but I want one in my kitchen as well. This will be the one; nice and simple. Thanks a lot!

This is really cool! Could you please provide some info on the electronic side? I have done a few projects with arduino burt I could use and would very much appriciate any help you could provide with that part of the project,Thanks.

Thank you for your interest! I wrote a bit more about the wiring and stuff. There are two example codes in .txt files to get you started. This is quite ideal arduino project for beginners as it doesn't need complicated wiring or coding, only a lot of soldering.