- Wall Mountable LED Tiles

Introduction: - Wall Mountable LED Tiles

About: I love anything tech... I enjoy creating things in Autodesk Inventor and sharing these things free for others.

moodlite was a little project I designed over the Christmas break. I enjoyed building it so much that I decided to release everything open source. All the files and instructions here are from my 1st released version. (all my own work)

This is built using a NodeMCU controller and some WS2812B LED's. The NodeMCU connects to your home wifi also hosts a web server so you can control the patterns, brightness, and speed via a mobile phone, tablet or PC.. anything that has a web browser and is on your home network.

The tiles are 3D printed and I use servo extension leads to make it modular and connect them all together. It's powered by a 5v supply and doesn't need any other cables going to it.

Step 1: Moodlite - Lets Start Building

Bill of materials You will need the following to make 20 tiles
White filament (I used Ziro white 1.75mm)
60 x 1 meter LED WS2812S (non waterproof type)
20 x 1m servo extension leads
1 x NodeMCU (like the one in the photo)
1 x 5v 5Amp power supply unit

It's printing time..

moodlite is currently constructed from 4 different 3D printed parts. Two for the tile and two for the power unit. Each tile takes around 8 hours each to print. (6 for the base and 2 for the top). No fixings are required to build a tile up, as the front just clicks on.

You need to use a semi-transparent filament. I've been using Ziro 1.75mm white filament which although isn't transparent does allow some light through. The actual diffuser printed thickness of the top part is only 0.6mm thick.

I used the following settings with the Ziro filament on my Prusa mk3.
Layer 0.2mm
Infill - 10%
210 / 60 temps

Get the soldering iron out..

You will see from the wiring diagram that it's not hard, just a few connections. For each tile I used 3 WS2812S RGB Leds wired as the diagram. You will need to use 1m servo extension lead per tile. To get the correct length I would build the first tile up, then remove the wiring and just copy and adjust to suit.


This is quite easy, for your first tile I would build it up fully, then pull it apart and use the loam as a template. (as photo). To wire, you need to start with the male connector, pass this through the hole and seat it into the side. This connector sticks out and is used to insert into a tile or the power unit. (see photo). Then just loop around the tile and exit near your start point. You then have a choice if you want a left or right tile. You can decide which side to exit out of, this can be swapped later as well in case you change your mind without much fuss. Once wired just clip the front cover on.. and repeat :-)

Power supply, this is easy.. just follow the diagram and you won't go wrong..


The code is supplied within the zip file, you will need to use the Arudino IDE to upload this. It's a bit fiddly but if you google on youtube NodeMCU how to program via arduino there are lots or videos, online help etc.. It's pointless me trying to include details when it's already been done hundreds of times and alot better than I could describe.

Then it's just a case of going to the IP address it was assigned or if you set a static IP, just use this.. load the web page and control until you're happy :-)

As this is now open source you are more than welcome to contribute / update etc.. at ...

This has been released under Creative Commons - Attribution - Non-Commercial - Share Alike License.. which means you can make one for yourself.. but not sell.. this is very important... :-)

I would love to hear about your builds / comments and will do my best to answer any questions if I can.

The zip file contains the code / stl files / STEP and IGES files for the designs too.

Most of all.. have fun building it :-)

Make it Glow Contest 2018

Participated in the
Make it Glow Contest 2018

Be the First to Share


    • Rice & Grains Challenge

      Rice & Grains Challenge
    • Lamps Challenge

      Lamps Challenge
    • Puzzles Challenge

      Puzzles Challenge



    2 years ago

    I'm using the WeMos D1 Mini board and I get the following error when uploading from the Arduino IDE:

    Arduino: 1.8.10 (Mac OS X), Board: "WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)"
    In file included from /Users/Alexander/Downloads/moodlite/code/moodlite/moodlite.ino:6:0:
    /Users/Alexander/Documents/Arduino/libraries/FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.003.002
    # pragma message "FastLED version 3.003.002"
    In file included from /Users/Alexander/Documents/Arduino/libraries/FastLED/FastLED.h:65:0,
    from /Users/Alexander/Downloads/moodlite/code/moodlite/moodlite.ino:6:
    /Users/Alexander/Documents/Arduino/libraries/FastLED/fastspi.h:130: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"
    In file included from /Users/Alexander/Documents/Arduino/libraries/FastLED/FastLED.h:48:0,
    from /Users/Alexander/Downloads/moodlite/code/moodlite/moodlite.ino:6:
    /Users/Alexander/Documents/Arduino/libraries/FastLED/fastpin.h: In instantiation of 'class FastPin<6u>':
    /Users/Alexander/Documents/Arduino/libraries/FastLED/platforms/esp/8266/clockless_esp8266.h:21:49: required from 'class ClocklessController<6, 20, 50, 30, (EOrder)66u, 0, false, 50>'
    /Users/Alexander/Documents/Arduino/libraries/FastLED/chipsets.h:582:7: required from 'class WS2812Controller800Khz<6u, (EOrder)66u>'
    /Users/Alexander/Documents/Arduino/libraries/FastLED/FastLED.h:105:52: required from 'class WS2812B<6u, (EOrder)66u>'
    /Users/Alexander/Documents/Arduino/libraries/FastLED/FastLED.h:302:39: required from 'static CLEDController& CFastLED::addLeds(CRGB*, int, int) [with CHIPSET = WS2812B; unsigned char DATA_PIN = 6u; EOrder RGB_ORDER = (EOrder)66u]'
    /Users/Alexander/Downloads/moodlite/code/moodlite/moodlite.ino:62:65: required from here
    /Users/Alexander/Documents/Arduino/libraries/FastLED/fastpin.h:207:2: error: static assertion failed: Invalid pin specified
    static_assert(validpin(), "Invalid pin specified");
    Mehrere Bibliotheken wurden für "FastLED.h" gefunden
    Benutzt: /Users/Alexander/Documents/Arduino/libraries/FastLED
    Mehrere Bibliotheken wurden für "ESP8266WiFi.h" gefunden
    Benutzt: /Users/Alexander/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi
    exit status 1
    Fehler beim Kompilieren für das Board WeMos D1 R2 & mini.

    The example sketches can be uploaded successfully.
    Thanks if you can help me :)
    Happy new year!


    3 years ago

    If you wanted too could you also run the LED strip all the way round the edge if you wanted too obviously you would have to buy more of the led strips but would it still work with the programming? Also what 3D printer do you use?


    Reply 3 years ago

    Sorry, I printed them on a few printers.. a JGAurora A5, Lmystar E10 (Ender3/CR10 type clone) and a Prusa mk3.


    Reply 3 years ago

    Sure, it's up to you how many LEDs you install. The in the new code that's been released you can input howany LEDs you are using in each tile. :-)


    Question 3 years ago

    Also, can you please post an image of a single panel opened, just to see the wiring? Thanks!


    Reply 3 years ago

    The bottom tile I posted is actually the latest version I've done where the wire just loops around. I've included some images below which should help you :-)

    So, start with the male end and push it through the hole in the tile. Put the wires through the slot and pull the connector back. This should locate it in its hole. Like the first photo below. It should be sticking out and not flush. then work around the tile slotting in the LED's in to each corner. Once done, then exit onto the back again and choose which side you want to exit with the female connector, as the photo. :-)

    Hope this helps :-) Thanks, Steve


    Question 3 years ago on Step 1

    So in total you need 60 meters of the LED strip?


    Reply 3 years ago

    Hi, sorry no the LED's come on a single strip that's 1 meter long. You get 60 leds off a single strip. Here are a couple of links...

    Amazon UK link -
    Amazon USA link -

    To make a tile you then need 3 LED's each tile. To join these LED's up I used a 1-meter servo extension cable which was cut up to make the wiring loom.

    I have just bought some more from China and they are costing about £5, so about half price but longer wait times.

    I hope this helps :-) many thanks for your interest in this project.