LED Wall Art

by Tthat1Guy in Workshop > Home Improvement

209 Views, 3 Favorites, 0 Comments

LED Wall Art

thumbnail_IMG_1287.jpg
image.JPG

this is an LED wall display made using generic (WS2812B) LED strips. In this guide you will be able to make any custom design using 3d printed hexagonal connectors. the design will be able to light up any colors and will be fully programmable

Supplies

materials:

5M WS2812B LED strip (any 60LED/Meter WS2812B strip will do) !!make sure you buy enough for your design!!

LED diffusers !!make sure you buy enough for your design!!

1x 20AWG wire set

1x Wago splicing connectors

1x Arduino nano

1x 5v 5a dc Power Supply / 5v 10a dc Power Supply (depending on how many LEDs you will drive)

Super glue or Hot Glue

PLA filament


tools:

3d Printer

laptop or desktop computer

soldering iron (Pinecil)

super glue/hot glue gun

hacksaw (or other capable cutting device)

wire strippers (included with wires)

Introduction + Legend

image.JPG

for this project I have created instruction on how you can create any design you want. To help explain each step I have created a new design of my own which you can choose to recreate. If you are completely new to electronics I suggest making my example (shown in blue above). If you choose to do this there will be quite a few steps you do not need to do which will be marked with an * in the title. Other steps might have a section marked with (if you are making my example guide) at the bottom with only the parts of the step you need to do. (if there is no section the entire step is necessary)

*draw Out Designs to Pick From

onshape design picture.png
Screenshot 2025-07-07 205150.png

firstly you will need to sketch out the shape of the design you wish to make. Each connector has 6 directions that you can connect lines to allowing you to make a system of lines with hexagons and triangles. I personally did this through Onshape using the regular polygon tool which was very helpful. You can use Onshape like I did, or manually draw it out on paper. Try making several designs until you create one that you like.


pictured are some of the design ideas I drew in Onshape as examples

Order the Right Amount of Parts

to calculate the length of both the LED strips and diffusers you will need for your design you must first determine the size you want each line between the connectors to be. This length is decided by the amount of pixels you want on each line giving you the options of:

8 pixels per line 14.3cm/5.4in

9 pixels per line 16cm/6.1in

10 pixels per line 17.6cm/6.7in

11 pixels per line 19.3cm

12 pixels per line 21cm (recommended size)

13 pixels per line 22.6cm

14 pixels per line 24.3cm

15 pixels per line 26cm

16 pixels per line 27.6cm

17 pixels per line 29.3cm

18 pixels per line 31cm

larger sizes are not recommended but you can calculate any size knowing that each pixel is 1.66 cm long and adding 1cm to the length to include clearance for sticking the LED strip on.


knowing the length you want each line to be you can calculate the number of LEDs you'll need to buy by multiplying the length of each line with the number of lines in your design. (EX: my example has 25 lines and I want each line to have 12 LEDs so my design needs 12*25=300 LEDs)

each strip from my buying guide has 300 LEDs so if your design needs more than that you will have to buy multiple strips.


(if your design has less than 450 LEDs ignore this you only need to buy 1 diffuser set)

you can calculate the amount of diffuser strip needed with a very similar calculation by multiplying the length of each line by the number your design has. (EX 21cm per line* 25 lines in my design =525cm needed)

each diffuser strip comes in a package of 10 bars of 1m each. This is important as it means some of the material will get wasted when you cut it as pieces on the end of each bar too short to use. Knowing this I would advise you that if your design needs more than 850cm of diffuser strip it is likely you will need to buy a second package of diffusers.


next you will need to decide what power supply you need. You can choose to use a 5a power supply or a 10a power supply to power your design. A 10a power supply will allow you to drive your LEDs brighter making them more suitable for bright outdoor spaces and large designs with more than 300 LEDs. Otherwise a 5a power supply will suffice.


now that you know how much of everything you will need (1 of everything except possibly LEDs and diffusers) you can order all the parts off of the supplies list above to be delivered.



(if you are making my example design)

you will need to buy 1x of all the materials listed at the start and the 5a power supply

*creating Wire Diagram

thumbnail_IMG_1289.jpg
thumbnail_IMG_1291.JPG

this step can take some time, so buckle in!

for this step it is easiest to do in an environment where you can undo any markings you make. If you made the design on paper take a photo of it and edit the photo in "markup mode". If you made the design in Onshape take a screenshot of it with windows+shift+S and insert it into the "paint" software to edit the picture.


now that you have a plan for the size and shape of your design. You need to plan how your going to wire it together. The first step in creating the plan is deciding where your going to put the controller. The controller is going to be the "start point" for any wiring and is where the ac adapter will plug into. If you have a spot planned out for your design make the "start point" of your diagram on the connector that will be closest to a wall plug and mark your picture to indicate where the controller should be.


next you need to draw out your plan. The goal here is simple. Make a wire go over every line in your design with the least overlap possible. Most of the time it will be impossible to make your design have no overlapping at all, but you will save yourself some time later by optimizing the path of your wiring. You are able to make multiple wire paths go out from your start point. They will function as if it were 3 separate strips which are then tied together in code. You can check picture 2 for an example of this.


if you plan on driving the LEDs bright do not make any signal paths longer than 200LEDs!


for more complex designs this can take a while. Grab a snack, sit down, and figure out a good solution.

Print Out Connectors

design vertex count.png

download the parts you need on this step off of the printables page.


while you're waiting for your parts to arrive you can print out the Connectors to make your design. For your design you will need to print 1 connector for each vertex. My example design has 20 vertexes (picture 1) so I will need to print a total of 20 connectors. Secondly some of the connectors you print will be the variant for mounting via screw (screws are included with diffusers). I suggest that 5 of the connectors your design needs should be the mounting variant. The mounting variant needs two parts, the connector and a plug to cover the screw hole.


additionally, regardless of the connectors needed you need to print the housing for the Arduino controller to control the LEDs. The files are called "box.step", and "box lid.step"


so for my example I will need to print a total of 27 parts for my design. Consisting of 15 connectors, 5 mounting connectors, 5 plugs for the mounting connectors, a box for the controller, and a lid for the controller.



printing settings

0.2mm layer height

20% infill

the mounting variant need support on the mounting hole


(if you are making my example design)

download the file named "example design parts.stl" from printables

print all parts of the file at my suggested settings above



after you print all the parts and clean up the supports move on to the next step

Cut Diffuser Strips to Length

thumbnail_IMG_1295.jpg
thumbnail_IMG_1299.jpg

next you will need to cut the diffuser strips to the correct size for your design. Start by measuring and marking lines with the distance you decided on for each line (step 3) onto the metal bar, next mark lines 5mm/0.25in smaller than the length of each bar onto the plastic pieces. Repeat this until you have marked the amount of marks of lines your design has. Next you will need to use a hacksaw (or other capable cutter) to cut the material along each line you marked. If you have a vice or a clamp use that to secure the material for cutting. Otherwise you can stack many books on the bar and brace it with your hand to cut the material. If you do not own a hacksaw you can buy one here.


(if you are making my example design)

you will need to cut 25 of both the metal and plastic diffuser strips. Start by marking the metal bar with 21cm/8.25In between each mark. Next mark the plastic with 20.5cm/8in between each mark. Mark the bars of diffuser 25 times onto both the plastic and metal with the correct distances (the ends of the material will be discarded). Now you need to cut the material along each mark. If you have a vice or a clamp use that to secure the material for cutting. Otherwise you can stack many books on the bar and brace it with your hand to cut the material. If you do not own a hacksaw you can buy one here.


DO NOT THROW AWAY INCLUDED HARDWARE! SET IT ASIDE FOR NOW.


after you have cut all the material and counted to double check you have the necessary amount move on to the next step.

Dry Assemble Led Wall

picture1.png
thumbnail_IMG_1300.jpg
picture.JPG

next you will need to dry assemble your design. Dry assembly means you will not be gluing any of the pieces in place. To do this simply connect the metal diffuser bar into each of the connectors to create the shape of your design. Assemble your design with the diffusers facing the floor, the same way it will be mounted on the wall. When you are done it should look similar to picture 2 but with your design.


(if you are creating my example design)

you will need to recreate the design shown in picture 1 by connecting the metal diffuser bar into each of the connectors. Put the mounting varient connectors at each corner and 1 in the middle (circled in picture 3)

do not glue each connector yet. when you are done it should look like picture 2.


once you have created your design in dry assembly you can move onto the next step.

Glue Design Together

picture 1.jpg
picture2.jpg
picture3.jpg
thumbnail_IMG_1308.jpg

now you will glue the connections for your design. You can either use hot glue or super glue for this. The easiest way to do this is to first flip your design so that the diffusers face up. Then pull out a diffuser from its connector, place some glue onto the diffuser and re-insert it again (shown through pictures 1-3). Wait for the glue to set before moving any other pieces. You will need to repeat this for all connections on your design.


if you are making my example design follow the same steps. the end should look like picture 4


once you have done this for all connections in your design move onto the next step.

Cut LEDs

thumbnail_IMG_1307 (1).jpg

next you will need to cut the long LED strip into the length of each line you decided for your design. Very similarly to the diffuser strip you will need to mark your cuts but instead of length you will do it by the number of LEDs you decided on in step 3. Mark each of your cuts with marker then cut them with side cutters or scissors. Make sure your cut splits the copper pads as evenly as possible to make soldering easier.


(if you are making my example design)

very similarly to the diffuser you will need to mark the long LED strip 24 times with marker every 12 LEDs. If you mark it correctly there should be no LEDs left in the roll. Then cut the strip with side cutters or scissors. Make sure the cut splits the copper pads as evenly as possible to make soldering easier. After you cut all the LEDs double check that you have 25 strips of LEDs.


once you have cut all the LEDs your design needs move onto the next step

Place LEDs and Solder

thumbnail_IMG_1313.jpg
picture1.jpg
thumbnail_IMG_1318.jpg
thumbnail_IMG_1291.JPG
thumbnail_IMG_1319.jpg

now you will place the LEDs and solder wires between each of them. Do not place the LEDs all at once as their orientation must be aligned with the wiring. each strip has pads labeled DI and DO on each end which stand for "Data In/Out". You will need to always make the strips wired from DO at the end of a strip to DI at the start of a new strip. Start by placing the first strip from the start point in your wiring diagram then repeating the following process along the path you made in your wiring diagram.


1: place the next strip according to your wiring diagram with DI at the start.

2: cut 3 wires 60mm/2.25in 1 red, 1 black, and 1 white, and strip the ends off of both sides.

3: tin the pads of the 6 copper pads on both the end of the previous strip and the new strip.

4: solder on the wires between the strips. red for +5v, black for GND and white for data.

repeat

(steps shown in pictures 1-3)


(if you need to make a signal wire overlap or switchback over a strip)

try to place the LED strip that will have overlap as close to the side as possible. Next glue the signal wire of the overlapping path beside the LED strip. Only the signal wire needs to overlap, you can steal +5v and GND from any adjacent strip to continue the wire path of the signal wire that had overlap.(diagram in picture 5)


(if you are making my example design)

follow the same steps but using the wiring diagram shown above. There are four sections where overlap is necessary. The loops in the diagram signify the strip switching back on itself with overlap


once you have placed and soldered all LEDs move onto the next step

Solder on Controller and Power Supply

thumbnail_IMG_1325.jpg
thumbnail_IMG_1322.jpg
controller wiring finished.jpg

next you will need to solder on the wires to the controller and the power supply to the LEDs. Start buy cutting, stripping, and soldering on 12cm/4.75in wires to the LEDs. Then strip 11mm/0.4in off the ends of all positive and negative wires. You will then need to tin the wires with solder and insert the wires into the Wago splice connectors, use 1 five pin connector the for +5v wires and 1 for GND wires (picture 1). Next you will need to do the same for the power supply. Start by cutting the end off the power supply, and cutting 30mm/1.25in of the black insulation off it. then strip the wires 11mm and tin them. Insert the red wire into the splice connector for +5v and the black wire into the splice connector for GND. Now your wiring should look like picture 1.


now that the strips are connected to power you will need to do the same for the Arduino Nano controller. Start by cutting and stripping a black wire and red wire both 7cm/2.75in long. Solder the red wire to the pad named VIN on the Arduino Nano and the black wire onto any pad named GND (shown in picture 2). Strip 11mm/0.4in off the other end of the wires, tin them and insert the black into the GND splice connector and the VIN wire into the +5v one.


check your wiring then test by plugging in the power supply. There should be a red light on the Arduino Nano (and some LEDs may have lit up randomly).


now you need to solder on the signal wires onto the pins labeled: D12, D11, and D10.

if you need to control 1 signal wire solder it onto D12,

2: solder to D12 and D11

3: solder onto D12 D11 and D10.


when you code the LEDs, understand that the wire soldered to D12 is labeled as Strip1 in the code, D11 is Strip2, and D10 is Strip3


finally, you will need to put the wiring into the box you printed. There is no specific slot for any of the electronics but they should all fit in if you stack the Wago connectors on top of the Arduino Nano. There should be plenty of wiggle room for wires. route the wires for the LEDs out of one end and the wire for the power supply out the other. then place the lid onto the box which should friction fit. When you are completely done with this step it should look like picture 3

Install Arduino IDE and Install Adafruit Neopixel Library

Screenshot 2025-07-08 152823.PNG
Screenshot 2025-07-08 153712.png
Screenshot 2025-07-08 160851.PNG
Screenshot 2025-07-08 161841.PNG

next you need to install Arduino IDE onto your desktop to create and upload your code. To install the software first go to the ArduinoIDE website. On the website you should should see the latest version of the software and a list of downloads depending on your OS. if you are running windows click the top option labeled windows (picture 1). Otherwise click the option correct for your OS. After this you will be prompted to donate money and to join their newsletter (picture 2). you can donate money if you'd like or click "Just download" for both prompts.


after the software finishes downloading you will need to run the installer. Double click on the file you downloaded to open the installer. You will be asked several questions about how you want the software to be installed. Change what you'd like, but it will work fine if you just press continue for all options. After the program finishes installing you can click "finish" to automatically open the software.


now that you have the software installed you need to install a library to control the LEDs. Think of a library as a assistant in the code to make your job easier. In this case it allows you to tell the library about your strip and what LEDs you want to light up, then handles the complex signals to produce that result.

the library you need is called "Adafruit Neopixel". To install the library click on the bookshelf icon on the side of the screen (picture 3). This should open up the library manager. From here enter "Adafruit NeoPixel" into the search bar. the top result should be "Adafruit NeoPixel by Adafruit" (picture 4). Click the blue install button. Now you have Arduino IDE set up and ready to go!

Create Code

Screenshot 2025-07-15 122853.PNG
pic.PNG
Open Code.png

you will now need to create your own custom code to control your design. The code is slightly different depending on if you have 1, 2, or 3 different signal wires on your design. So I have provided different templates to help create your code. Download either "1 strip template" "2 strip template" or "3 strip template" depending on how you wired your design. (download instructions next)


to download the correct code first go to the GitHub page. There should be 6 available at the top, but the only one you should care about are the files:

1_Strip_Template.ino,

2_Strip_Template.ino,

3_Strip_Template.ino

(shown in picture 1) Next click on the name of the code you need to download for your design, then click the download icon in the top right (picture 2)


after you have downloaded the code. Open Arduino IDE, and on the top left, select File > Open (picture 3). Then find your downloaded code (likely in the downloads folder) and double click to open it.


now that you have opened the template you need to change some values. The first few lines with

#define Strip1Length xx //length in pixels of strip 1
#define Strip2Length xx //length in pixels of strip 2
#define Strip3Length xx //length in pixels of strip 3

need to be changed to match your design (there might only be 1 or 2 depending on the template you downloaded). To find the right values for these numbers you need to measure the number of LEDs each signal wire controls. In my case the first signal wire controls 132 LEDs so I will set Strip1Length to 132 by replacing the xx in the code with 132. You can repeat this with the correct numbers for each signal wire.


once you have edited the code with the correct numbers for your design move onto the next step


(if you are making my example design)

to download the code first go to the GitHub page. There should be 6 files at the top (picture 1). Click the name of the file "Example_Design.ino". This should send you to a new page where in the top right you can click the download icon to download the code (picture 2).


after you have downloaded the code. Open Arduino IDE, and on the top left, select File > Open (picture 3). then find your downloaded code (likely in the downloads folder) and double click to open it. You do not need to change the code in any way. move on to the next step.

Upload Code to the Controller

Select Board.PNG
select port.PNG
picture 3.PNG
picture 4.png
thumbnail_IMG_1291.JPG

now that you have your code ready you can upload it to the Arduino controller. To upload the code you will first have to select the kind of controller you are using called the Arduino Nano. To choose this board in the top right select Tools > Boards > Arduino AVR Boards > Arduino Nano (shown in picture 1). Next you will have to select the USB port the code will upload to. First plug in your Arduino controller using the included USB cable. Then select

Tools > Port > Port X (X will be a number for you). (shown in picture 2)


if there is no option for a port make sure the cable is plugged into your desktop and using the included USB cable.

if there is multiple options for the port unplug your controller and re-plug it in and select the option that disappears and reappears.


!!plug in the power supply into the wall before uploading code!!

now you have the board and port selected you can upload the code. Click the arrow symbol in the top right (picture 3) to upload your code. If it uploads successfully you should see a black console show the text in picture 4. and light up all the LEDs in your design blue. If the code did not upload or did not light up the LEDs below is a troubleshooting guide

Troubleshooting

If all LEDs in your design did not light up a dim blue color check here for help



if the code did not upload and gave the error

"Compilation error: Adafruit_NeoPixel.h: No such file or directory"

you did not install the library correctly. follow the instructions on step 11 to install the library


if the code did not upload and gave any other compilation error

#define Strip1Length xx

is not written correctly. make sure you replace the xx with the number of leds in your design. make sure there is a space between Strip1Length and your number. the same applies for all of the strip length definitions in your code

if this does not work try re-downloading and opening the code



if the code uploaded but did not light up any LEDs on 1 or more a signal wire paths

1: make sure you soldered each wire to the correct pin of the controller. The wires should be soldered onto [12,11,10]: only 12 if you have one signal wire, 12 and 11 if you have two, and all three if you have 3.

2: check that the LED strip is wired to power correctly and is receiving 5v


if the code uploaded but 1 or more strips is only lit halfway through

1: make sure you set the

#define Strip1Length xx

to the right number of the length of your strip and the signal for strip1 is on 12 strip2 is 11 and strip3 is 10

2: make sure that none of the wires are shorted together

3: make sure the strip is wired correctly and the next strip is wired with DI at the end of the lit strip going into DO of the next strip

Set Color to Your Preference

the next step is simple. You will be changing the color to your preference. To do this you will need to change 3 values that determine the color they are shown as

#define R 0 //amount of Red in LEDs: 0 is 0%, 255 is 100%
#define G 0 //amount of Green in LEDs: 0 is 0%, 255 is 100%
#define B 255 //amount of Blue in LEDs: 0 is 0%, 255 is 100%

to change the color you will need to change the R, G, and B values. each number determines the amount of that specific color each LED lights up, on a range of 0 to 255. For example you could make the code produce a white color by setting the Red to 255 (100%) the Green to 255 (100%) and the blue to 255 (100%), or a blue by making R=0 G=0 and B=255.


keep changing these values until you are satisfactory with the color.

Set Brightness

this step is harder than it sounds because you must be careful of over current in your design which can lead to the parts breaking and possibly fire. This step is much different depending on if you have a way to measure the current or not so I have split it into two sections. (the max brightness changes based on the number of LEDs in your design, and the color you make them.)

plug in the power supply before testing brightness!


(if you have a way to measure current (adjustable PSU, current clamp, multimeter etc))

first attach the tool you are using for measurement onto your design. Then in the code change the

#define Brightness 4

number and re-upload your code. The design should then change brightness. Make sure your design is not drawing more than 4.5a if you have the 5a power supply and less than 8.5a if you have the 10a power supply. When you find a brightness value that is either sufficient to you, or is the maximum brightness the power supply can handle, move onto the next step.



(if you do not have a way to measure current)

it is simple to find the brightness if you cannot measure current, but does take longer. To find the maximum brightness start by increasing the brightness value in increments of 4. You can change the brightness by editing the value of

#define Brightness 4

then re-uploading the code to the Arduino Nano. Each time you raise the brightness you will need to wait ~15 minutes, then touch the power supply. If the power supply is somewhat warm to the touch the brightness is fine, but if it is any warmer then you need to turn down the brightness.

when you find a brightness value that is either sufficient to you, or is the maximum brightness. leave your design on for 45 minutes. if the power supply is not too warm after this continue onto the next step.

Attach Plastic Diffusers

now you need to attach the plastic part of the diffusers on. They should snap fit onto the metal with a little force. Place all the diffusers onto your design and then move onto the next step.

Mount Onto Wall

this is the final step, you're almost there!


mounting your design is fairly easy, but it is a two person job so you will need a friend. To mount the design you will need to use the hardware included with the diffuser strips. The screws will tap straight into the drywall. The screws should have been included in the package as a small zip lock bag with lots of other pieces. Grab the bag and retrieve some screws out of it. Then screw them slightly into the hole on each mounting connector. Next you'll need to pick up the design and hold it against the wall whilst another person screws the screws into the wall.


next you will need to use the plugs that you 3d printed. lightly push each plug into the hole so that it will hold in place but can still be pulled out.


you will also need to screw the controller to the wall using the same hardware. There is two holes on either side of the controller box for this.


once you have plugged in the design you are finished!

Finish!

Amazing! you finished building your design. You have every right to be proud of what you made! if you liked this guide consider sharing it to others, also this is my first guide and probably has many problems. If you would like to help me make this guide easier for other people any suggestions in the comments would be greatly appreciated.

Optional Patterns (unrecommended for Beginners)

your design is fully capable of being coded to make any patterns you'd like. I personally coded in patterns into a display shown in this reddit post. if you are a beginner this is a good project to come back to once you learn a thing or two about coding.