Full transcript
Demo of the Display
0:00behind me is a seven foot wide LED wall
0:02that I built for under five hundred
0:04dollars a giant LED display can add
0:06color and movement to your room making
0:08it feel more lively and fun you can use
0:10it to stay updated on important
0:11information like the time and weather or
0:14just leave your favorite GIF looping as
0:15a unique art piece I love using mine as
0:18a visualizer when I'm blasting my
0:19favorite music but it's also really cool
0:21in the background of streams or video
0:23calls since it can mirror your PC screen
0:25I'm Chris Parker and in this episode of
Introduction
0:28tech random I'm going to teach you how
0:30to build your very own LED wall we'll go
0:32through every step you'll need to build
0:34the panels as well as my suggestions to
0:36make the project as beginner friendly as
0:38possible then I'm going to teach you how
0:40to use websockets to communicate with
0:42the display over Wi-Fi even if you've
0:44never used a microcontroller before this
0:46video is going to teach you everything
0:47you need to know let's get started
3D Printing the Tiles
0:52this project uses a lot of 3D printed
0:54Parts if you've never used a 3D printer
0:57before then now is the best time to get
0:59into the hobby I just gotten any cubic
1:01Cobra for 250 dollars and it has some
1:03insane features like an auto leveling
1:05bed that makes it a huge upgrade from
1:08the printer I got during my sophomore
1:09year of college
1:10this is not sponsored I'm just really
1:12impressed by the printer at such a
1:14competitive price there are four
1:16different files you'll need to print
1:17you'll need eight of the 6x6 for each
1:20panel four of the six by four four of
1:23the 6x6 end piece and two of the 6x4 end
1:26piece multiply that by four and you'll
1:28have enough for the entire wall you'll
1:30need three and a half kilograms of black
1:32pla for the whole thing although most of
1:34this project can be built in a couple of
1:36days it took me almost a month to print
1:38all of the tiles I needed so make sure
1:40you start printing before you get too
1:42far ahead
Materials and Supplies
1:45for each panel you're going to need four
1:47five meter rolls of 150 pixel
1:50ws2812b addressable LEDs a 5 volt 60 amp
1:54power supply an AC wall plug and an
1:57esp8266 microcontroller you'll also need
2:01a soldering iron solder 16 gauge wire a
2:04wire stripper duct tape the 3D printed
2:06tiles hot glue a light diffusing cloth a
2:10stapler and large sheets of cardboard in
2:13case you missed any of that all these
2:14things can be found in the description
2:15along with written instructions over on
2:17my instructables page
Like the Video
2:19before we get into the build remember to
2:21leave a like on the video for the
2:22YouTube algorithm when I started this
2:24channel I was a college student but now
2:26that I'm working full time as an
2:28engineer it's really hard to find time
2:29to work on these videos remember to
2:31subscribe and ring the bell if you don't
2:33want to miss out on any future projects
Building the Panel
2:36[Music]
2:37I'm going to start by cutting the
2:39cardboard down to 48 by 21 inches if you
2:42can get a cheap four foot level it'll be
2:44your best friend for the duration of
2:45this build cutting each of the LED
2:47strips into 436 pixel segments was
2:50actually a lot of fun and only took
2:52about five minutes I used two of the
2:54leftover strands at each end of the
2:55cardboard to make sure the strips were
2:57evenly spaced then I use my level to
2:59make sure each strip stayed straight the
3:01whole way across if you're making your
3:03own make sure you start with a connector
3:05piece you'll always need to pay
3:07attention to the arrows on the strips
3:08and make sure you alternate the
3:10direction of each strip as you place
3:12them down once all the strips are down
3:14you'll have a very satisfying sheet of
3:16pixels but they won't be able to do
3:17anything until we wire them up you can
3:19use whatever wire you want for this but
3:21I just scavenged all the extra wire that
3:23came with the LEDs make sure you save at
3:26least one of these connectors for later
3:27though
3:29the soldering was definitely the most
3:30tedious part of this project but a good
3:32stripper and soldering station made
3:34quick work of it we need to connect all
3:36the strips together in a snaking pattern
3:38so that we end up with one continuous
3:40strip I used a bit of solder to Tin each
3:42pad then tinned the wires and touch them
3:45together with the iron make sure you use
3:47pliers since the wires will get very hot
3:49before turning off your soldering iron
3:51take the connector we set aside earlier
3:53and connect it to the esp8266 red goes
3:57to 5 volts white to ground and green
3:59goes to D4 now it's finally time to run
4:02our first test I'm going to show you the
4:04whole process to make this project less
4:06daunting for beginners so bear with me
4:08if you've done this before
Testing the LEDs
4:11foreign start by grabbing the Arduino
4:14IDE from the download section of their
4:16website while it's installing head to my
4:18GitHub Link in the description and
4:20download the zip file in the folder open
4:22link.txt and copy its contents now open
4:26Arduino and go to file preferences and
4:29paste into additional boards manager if
4:32you already have stuff here just
4:33separate them with a comma Now go to
4:35tools manage libraries and install the
4:38fast LED Library once that's done you
4:41can navigate back to the GitHub folder
4:43and open fast ledtest.ino
4:46click tools board
4:50esp8266 boards then select lowland wemos
4:53D1 mini clone then go down to the port
4:56and observe a list of options plug in
4:59your esp8266 using a micro USB cable
5:03close and reopen tools port and you
5:05should see a new Option select that port
5:08and press upload
5:09with the
5:11esp8266 still connected to your computer
5:13plug it into the LED panel and you
5:16should see a red LED running up and down
5:18the strip
5:20now that we know the individual pixels
5:23work let's connect our power supply so
5:24we can drive all of the pixels at once
Connecting the Power Supply
5:27[Music]
5:29I cut three equal lengths of 16 gauge
5:32wire about four feet long
5:34strip one of the ends and Tin the tips
5:36then solder the red wire to 5 volts and
5:39the black wire to ground space these out
5:41as evenly as possible so you can get an
5:43even amount of power to each row of
5:45pixels then use small strips of duct
5:48tape to secure these wires down to the
5:50bottom of the cardboard and wrap the
5:52cables together where they meet in the
5:53middle now you can cut the other ends to
5:55the same length and strip them on the
5:57longest setting your stripper has twist
5:59each Freight end and bend them at a 90
6:01degree angle before we can connect the
6:03power supply we'll also have to take a
6:06standard AC power cable and cut the end
6:08off exposing the three wires inside you
6:11should see a white black and green cable
6:13if you're in the US
6:14strip twist and bend these cables as
6:17well then you can use a screwdriver to
6:19connect the green to ground black to
6:21neutral and white to live finally attach
6:24the three red wires to plus v and the
6:26three black wires to minus V on the
6:28supply
6:31now we can run our test with the ESP
6:33board disconnected from your panel plug
6:35into your computer and open the sketch
6:38maxcurrent test.inl click upload and
6:41once the upload is finished unplug the
6:43ESP from your computer and plug it back
6:45into the panel now you can plug the
6:47panel into power and verify that all of
6:49your LEDs are bright white
6:51with the power supply tested it's time
6:52to begin the final assembly
Adding the Diffuser
6:56I laid out all the 3D printed tiles to
6:58make sure I had the right number of each
7:00part the end pieces should provide
7:02clearance for the solder joints on each
7:04strip using a high heat hot glue gun I
7:06apply four drops of hot glue to the
7:08bottom of a tile then press it firmly
7:11into the panel for about 10 seconds
7:13I like to start at the bottom and work
7:15my way up one side so I can make sure
7:17each tile is square
7:18with all the tiles attached I used a box
7:21knife to trim down any excess cardboard
7:23and make the sides flush with the 3D
7:24printed parts
7:25to add the diffuser flip the panel onto
7:28a trimmed sheet of light box cloth using
7:30a stapler secure the cloth to the back
7:33of the cardboard alternate sides As you
7:35move down the panel making sure to pull
7:37the cloth as tight as possible for best
7:38results
7:39once the sides are done you can do the
7:41same thing at the top and bottom
7:43remember to cut a slit for the cloth to
7:45wrap around the power wires at the
7:47bottom and just like that you have your
7:48first wall panel done to attach them to
7:51the wall I used four large velcro
7:53command strips per tile to make sure
7:55each one is secure but also removable I
7:57mounted mine up against a corner but you
7:59can also use a level to make sure your
8:01panels are straight you're going to need
8:03four panels in total to get the complete
8:05seven foot wide wall but if you only
8:07want to make one that's fine too I've
8:09had a single panel mounted for the past
8:10year while I procrastinated this and it
8:13looked really good on its own no matter
8:14how many panels you make you're probably
8:16wondering how I'm driving Graphics to
8:18four panels that aren't connected
8:19together in any way
Fixing Broken Software
8:23YouTuber Tyler teemoj made an amazing
8:26program called LED Matrix Control
8:28software HD or LMC shd for short
8:31this application allows you to mirror
8:33your screen play gifs and images and
8:35even use your Matrix as an audio
8:37visualizer all the data gets sent to the
8:40USB port and can be read directly by our
8:42ESP boards unfortunately there were a
8:45few issues with this software that
8:46needed to be addressed before I could
8:48put anything on the screen in Tyler's
8:51repository the vertical pixel
8:52orientation is completely broken and
8:54results in this messy image thankfully
8:57since the software is open source I was
8:59able to modify the code and fix this
9:01issue I made sure to include the working
9:03version in the project files Linked In
9:04the description below so you won't have
9:06to face the same problems if you make a
WebSockets
9:08display like this of your own the other
9:10issue is that this program only outputs
9:12to a single serial Port but I have four
9:14panels that all need different data on
9:16top of that my LED wall is all the way
9:18across the room from my PC and I don't
9:20want to run ugly cables everywhere my
9:22solution to this problem was to use my
9:24existing Wi-Fi network and the websocket
9:27protocol to send to the serial data
9:29wirelessly to each of the panels
9:32websockets allow for real-time
9:34communication between a website and a
9:36user's web browser rather than the
9:38client having to continuously request
9:40new data from the server this allows the
9:42server to push data to the client as
9:44soon as it becomes available
9:45with multiple clients we can program a
9:48server that receives a frame from the
9:50serial Port then splits that frame into
9:52four separate frames and sends each
9:54frame to the correct panel this all
9:56happens multiple times per second to
9:58give our display a high refresh rate and
10:00low latency
10:01let's first experiment with a single
10:03panel to prove that this will work then
10:05we can test all four panels together
Single Panel Firmware
10:09plug the esp8266 into your computer then
10:13open the file single LED wall receiver
10:16you'll need to set your Wi-Fi SSID and
10:18password in here then you can upload it
10:20to your board plug the ESP back into
10:23your panel but don't power it on just
10:24yet you're now going to take a fresh
10:27esp8266 and plug it into your computer
10:29open the file single LED wall source and
10:33once again set your Wi-Fi SSID and
10:35password click upload and wait for it to
10:38finish then power on your panel you
10:40should see a white light indicating
10:41power followed by a red or purple light
10:44indicating a connection run
10:47lmcshd.exe and click serial connect
10:50select the com Port your ESP is on and
10:53set the baud rate to 921600 this is the
10:57fastest speed the esp8266 can reliably
11:00communicate it
11:01the matrix dimensions should Auto
11:03populate but if they don't enter a
11:06height of 36 and a width of 16.
11:09go to edit pixel order and change the
11:11following settings orientation vertical
11:13origin bottom left and new line snake
11:16finally we can press Start capture and
11:19see a squished version of our screen
11:20being mirrored onto the panel
Four Panel Firmware
11:25getting all four panels to work is just
11:27as easy you'll need the four ESP boards
11:29we used for the panels plus a fifth
11:31board that we use for the server open
11:34the file multi-led wall receiver and set
11:37your Wi-Fi SSID and password you'll also
11:39need to find the function websocket
11:41event and modify the line
11:45websocket.sendtxt device 4. connect the
11:48first board write device 1 then upload
11:52once that's complete connect the second
11:53board and right device 2 and upload
11:55continue until all four boards are
11:58flashed with their proper device number
12:00go ahead and plug each of the boards
12:02into their respective panel one on the
12:04left and four on the right but wait to
12:06power on the display until we're done
12:07with the next step connect the final ESP
12:09to your computer and open the file multi
12:12LED wall source set your SSID password
12:15and click upload scroll down until you
12:18see the line that says set a static IP
12:21address open a web browser and enter
12:26192.168.1.121 and you'll see this
12:28webpage showing the connection status of
12:31each panel power on the display and wait
12:34for each screen to connect if one or
12:36multiple aren't connecting press the
12:38reset button on the side of the board
12:39and it will try to connect again once
12:42all the screens are connected run
12:44lmcshd.exe and click serial connect
12:48select the com Port your ESP is on and
12:51set the baud rate to 921600
12:54you'll also need to set the color mode
12:56to 16 BPP running all four panels
12:59requires a lot of data over the network
13:01and you're going to notice a low frame
13:03rate if you try running 24 bits per
13:05pixel
13:06the matrix dimensions should Auto
13:08populate but if they don't enter a
13:10height of 36 and a width of 64. go to
13:14edit pixel order and change the
13:16following settings orientation vertical
13:18origin bottom left and new line snake
13:21finally we can press Start capture and
13:23see an exact copy of our computer screen
13:25on the LED wall and that's it you are
Final Thoughts
13:28now the proud owner of a Jumbotron you
13:31can use the wall to watch videos or play
13:33gifs and press party guests with a music
13:35visualizer or even challenge yourself to
13:37beat some video games at a very low res
13:39in the future I think it would be really
13:42awesome to use a webcam to turn this
13:44into an interactive art display I also
13:47think it'd be cool to write code to
13:48display Spotify album artwork in real
13:50time this project is far from over so
13:53let me know down in the comments below
13:54what you would like to see me do with
13:56this wall in the next video if you made
13:58it all the way to the end I really
13:59appreciate you I could not have finished
14:01this project without all the support you
14:03guys leave in the comments remember the
14:06only thing limiting your creativity is
14:08your own imagination so don't be afraid
14:10to try new things take risks and embrace
14:12the unknown stay creative keep making
14:15new things and I'll see you in the next
14:17video
14:27[Music]
14:29[Applause]