Build Your Own Massive LED Wall on a Budget

by ChrisParkerTech in Circuits > LEDs

40171 Views, 468 Favorites, 0 Comments

Build Your Own Massive LED Wall on a Budget

Transform Your Room with this Budget-Friendly LED Wall Build
Enemy(12 fps).gif
Visualizer.gif
Valo.gif

Today I'm teaching you how to build a massive LED wall for under $500. Whether you're an experienced engineer or just a beginner, anyone can make this 7-foot-wide display! The modular design is split into 4 separate panels so that you can make the perfect screen for your space. Each panel is lightweight, making this project more portable than a professional installation costing thousands of dollars.

The software I'll teach you how to use allows you to display anything you want with no headache! You can set it to play a 4-hour background video to add color and motion to your room, or just show off a picture of your favorite character. There's a built-in audio visualizer that turns any song into a dynamic light show. I love putting on a playlist of my favorite music videos and enjoying the pixelized result.

Whether you're a hobbyist looking to show off your skills or just looking for a fun and unique art piece, this project is perfect for everyone!

Supplies

Impressed by the quality of this instructable? You can support the development of future projects by purchasing supplies with these affiliate links. A small percentage of the transaction will go straight to me at no additional cost to you!

Materials

16 x 5m 30P/m (150 Pixels) WS2812b LED Strip

1 x ESP 8266 microcontroller (6 pack) - 1 extra in case you let out the magic smoke

4 x 5V 60A DC Power Supply

4 x AC Power Cord

4 x 1kg Black PLA Filament

1 x Light-Diffusing Cloth

1 x 36x48 inch Cardboard Sheets (5 Pack)

Other Supplies

3D Printer - Insane value beginner printer

Soldering Iron

16 Gauge Wire

Wire Stripper

Duct Tape

Hot Glue

Stapler

Download the Project Files

download.gif

Download links:

All the files you need can be downloaded from my GitHub page.

Alternate link: https://github.com/TechRandom/Massive-LED-Wall


What am I Looking At?

The 'LED Wall STLs' folder contains all of the files you'll need to 3D print. UPDATE: There are some updated STL files submitted by user madd0g that add some screw mounts and extra space for the LED strips. These ones are lable (screwtype).

The 'Code' folder contains all of the Arduino code you'll need to flash to the boards. This includes multiple files to test your panels during the build process, as well as the final code that allows the boards to communicate over WiFi!

The 'LMCSHD_TechRandom_Release' folder contains my updated version of the LMCSHD open-source program. This program will allow you to display anything you want on the LED wall.

'link.txt' contains the link you need to add to your Arduino preferences in order to upload to an ESP-8266 board.

3D Print the Tiles

Parts.gif
3D.gif
Print.gif

This project uses a lot of 3D-printed parts. Although this project can be built in only a couple of days, it took me almost a month to print all of the tiles, so make sure to start printing before you get too far ahead.


There are four different files you’ll need to print. For each panel, you need:

8 x 'Wall Grid 6x6.stl'

4 x 'Wall Grid 4x6.stl'

4 x 'END Wall Grid 6x6.stl'

2 x 'END Wall Grid 4x6.stl'


Multiply that by four and you’ll have enough for the entire wall. It took me 3.5 kg of black PLA for the whole thing.

Lay the LED Strips

Cardboard.gif
Extra Bit.gif
Connector.gif
Strips.gif
Screenshot 2023-01-21 162536.png

Build a Single Panel

Start by cutting the cardboard down to 48 x 21 inches.

Take 4 Strips of LEDs and cut each one into four 36-pixel segments. You should end up with 16 total strips of 36 LEDs.

Stick one of the leftover strands to each end of the cardboard to use as a spacing guide. Starting with a connector end, stick the LED strips to the cardboard, alternating the direction of each strip as you place them down.

Use a level to make sure each strip stays straight the whole way across.


Make four panels for the full 7-foot wide wall

Soldering

Tin.gif
Connect.gif
Soldered.gif
this connector.gif
Controller.gif

Connecting the Strips

We need to connect all of the strips together in a snaking pattern so that we end up with one continuous strip. I was able to use the extra wire that came with the LED strips for this part, but you can use whatever wire you want.

Use a bit of solder to tin each pad, then tin the wires and touch them together with the iron. Make sure you use pliers since the wires will get very hot.

You'll need to connect every single strip to the one next to it, following the arrows from the previous step. Each strip ending with an arrow out must connect to the next strip with an arrow in.


Connecting the Microcontroller

Solder one of the connectors that came with the LEDs to the ESP 8266. Red goes to 5V, white to GND, and green goes to D4.


Do this for all four panels

Test Your Solder Connections

Sequence 01.gif

Install the Arduino IDE

Start by grabbing the Arduino IDE from the download section of their website.

From the step 1 Project Files, open link.txt and copy its contents.

Now open the Arduino IDE and navigate to File -> Preferences.

Paste the contents of link.txt into Additional Boards Manager.


Install the FastLED Library

Go to Tools -> Manage Libraries and install the FastLED library.

From the step 1 Project Files, open “FastLED_Test.ino”.


Change the Flash Settings

Click Tools -> Board -> ESP8266 boards -> LOLIN (WEMOS ) D1 MINI (Clone).

Now go to Tools -> Port and observe the list of options. Plug in the ESP8266 using a micro USB cable. Close and reopen Tools -> Port and you should see a new option. Select that port.


Upload the Code

Press upload. With the ESP still connected to your computer, plug it into the LED panel and you should see a red LED running up and down the strip. If all of your solder connections are good you should see each pixel light up.

If some of your pixels aren't blinking, you will need to improve the connection at the strip where the LEDs stop lighting up.

Connect the Power Supply

Power Stripper.gif
power solder.gif
Twisty.gif
Screw.gif
Power Test.gif

Connect Power Cables to the Panel

Cut 3 equal lengths of 16 gauge wire about 4 feet long.

Strip one of the ends and tin the tips, then solder the red wire to 5V and the black wires to ground.

Space these out as evenly as possible so you get an even amount of power to each row of pixels.

Then, use small strips of duct tape to secure these wires to the bottom of the cardboard and wrap the cables together where they meet in the middle.


Connect the DC Power Supply

Now you can cut the other ends to the same length and strip them on the longest setting your stripper has.

Twist each frayed end and bend them at 90 degrees.

Before we can connect the power supply we’ll also have to take a standard AC power cable and cut the end off, exposing the three wires inside.

You should see a white, black, and green cable inside. Strip, twist, and bend these cables as well, then you can use a screwdriver to connect green to ground, black to neutral, and white to live.

Finally, attach the three red wires to +V and the three black wires to the -V terminals on the supply. 


Test the Supply

With the ESP board disconnected from your panel, plug it into your computer.

Open the sketch “MAX_CURRENT_TEST.ino”.

Click upload and, once the upload has finished, unplug the ESP from your computer and plug it back into the panel.

Now you can plug the power supply into the wall and verify that all of your LEDs are bright white. 

If there are any spots that turn pink, you need to deliver more power to that part of the panel.

Attach the Tiles and Diffuser

Glue.gif
stick.gif
staple.gif
bottom.gif

Connect the 3D Printed Tiles

Lay out all of the 3D printed tiles to make sure you have the right number of each part.

The end pieces should provide clearance for the solder joints on each strip.

Using a high-heat hot glue gun, I apply four drops of hot glue to the bottom of a tile, then press it firmly into the panel for about 10 seconds.

I like to start at the bottom and work my way up one side so I can make sure each tile is square.

With all the tiles attached, I used a box knife to trim down any excess cardboard and make the sides flush with the 3D-printed parts.


Connect the Diffuser

To add the diffuser, flip the panel onto a trimmed sheet of Light box cloth.

Using a stapler, secure the cloth to the back of the cardboard.

Alternate sides as you move down the panel, making sure to pull the cloth as tight as possible for the best results.

Once the sides are done you can do the same thing at the top and bottom.

Remember to cut a slit for the cloth to wrap around the power wires at the bottom. And just like that, you have your first wall panel done! To attach them to the wall, I used four large velcro command strips per tile to make sure each one is secure but also removable. I mounted mine up against a corner but you can also use a level to make sure your panels are straight. 

Software!

Boards.gif
connection.gif
on.gif
LMCSHD.gif
screen.gif

For this section, you will need to install the WebSocket library in the Arduino IDE

There's a lot going on here so if something is confusing feel free to ask questions in the comments!


For a Single Panel:


Flash the Receiver

Plug the ESP8266 into your computer, then open the file “Single_LED_Wall_Receiver”.

You’ll need to set your WiFi SSID and password in here, then you can upload it to your board.

Plug the ESP back into your panel but don’t power it on just yet.


Flash the Server

You’re now going to take a fresh ESP 8266 board and plug that into your computer.

Open the file “Single_LED_Wall_Source” and once again set your WiFi SSID and password.

Click upload and wait for it to finish, then power on your panel.

You should see a white light indicating power, followed by a red or purple light indicating a connection.


Run LMCSHD

Run LMCSHD.exe and click Serial -> Connect.

Select the COM port your ESP is on and set the Baud Rate to 921600.

The matrix dimensions should auto-populate, but if they don’t enter a height of 36 and a width of 16.

Go to Edit -> Pixel Order and change the following settings:

Orientation -> Vertical

Origin -> Bottom Left

New Line -> Snake

Finally, we can press Start Capture and see a squished version of our computer screen being mirrored to the panel.


For All Four Panels:


Flash All Four Receivers

Open the file “LED_Wall_Receiver” and set your WiFi SSID and password.

You’ll also need to find the function webSocketEvent and modify the line “webSocket.sendTXT("Device 4");”.

Connect the first board, write “Device 1”, then upload. Once that’s complete connect the second board and write “Device 2” and upload. Continue this until all four boards are flashed with their proper device number.


Plug each of the boards into their respective panel, one on the left and four on the right, but wait to power on the display until we’re done with the next step.


Flash the Server

Connect the final esp to your computer and open the file “LED_Wall_Source”.

Set your SSID and password, and click upload.

Open a web browser and enter “192.168.1.121” and you’ll see this web page showing the connection status of each panel.


Power on the display and wait for each screen to connect. If one or multiple aren’t connecting, press the reset button on the side of the board and it will try again.


Run LMCSHD

Once all the screens are connected, Run LMCSHD.exe and click Serial -> Connect.

Select the COM port your ESP is on and set the Baud Rate to 921600.

You’ll also need to set the color mode to 16bpp.

The matrix dimensions should auto-populate, but if they don’t enter a height of 36 and a width of 64.

Go to Edit -> Pixel Order and change the following settings:

Orientation -> Vertical

Origin -> Bottom Left

New Line -> Snake

Finally, press Start Capture and see an exact copy of our computer screen on the LED wall.

Closing Thoughts

IMG_0649.gif
Cat.gif

Congrats on completing your massive LED wall!

You can use the wall to watch videos or play gifs, impress party guests with a music visualizer, or even challenge yourself to beat some video games at low res. In the future, I think it would be really awesome to use a webcam to make interactive art pieces or write code to display Spotify album art. This project is far from over, so let me know in the comments what you would like to see me do with this wall next!