Funny, I just thought about doing a project like this the other day! Things I think could improve your project would be: -Make the outer walls half thickness of the inner walls so that when the panels are joined the seam isn't as visible. Alternatively, leave sides out depending on the panels placement. -Do alignment tabs/grooves/holes to make sure panels align well. -SLA print in stacks (If you have one big enough). It would be faster, reduce sanding and then the left over support (if any) would be on the back/front and thereby not messing with the alignment. -If your wall isn't completely flat, first mount a flat piece of wood. This helps panel alignment and reduces panel mounting workload (screwing) considerably if you have hard walls like concrete or bricks. Congratulations on 12fps! That's really impressive for a DIY screen of this size running on ESPs 😲
I actually also thought about doing a project like this and had the same ideas with the half thickness, alignement tabs and the wood on the wall i havent thought about sla printing tho :)
I can fix any combustion engine or anything mechanical. But I'm at a loss when it comes to this type of stuff. It is just amazing the knowledge you have to do this type of work. Keep it up
As professional led wall technician I must say GOOD JOB for a diy project 💪 Actuall panels don't have a plexiglass sheet. Cheap ones are glues in with transparent silicone and the pricier ones have plastic "lenses" optional with a dark tint so black in the signal appears black on screen. Of course the pixel density is much higher but who knows what you'll come up with in the future 😅
Greetings from Munich, Germany 🇩🇪 TUM CS Student here. Loved the Video with all the builds, explanations and "life advice" sections. You've earned yourself a new sub ;). Keep it up!
This is a fun video/project - I have a suggestion for mounting all of the panels on the acrylic - you could have either put registration features on the sides of the panels, or used the channels you’ve already created to align all of the sections of a panel together more easily. If you created a grid from some tubes, you could have placed that in the channels, and that could have held all of the panels together.
A couple relatively cheap tools you should buy that would make your job faster and look better. An oscillating tool you could trim everything flush in seconds, super glue activator make it dry instantly. If you want to get fancy a router to flush trim things. Cut as much sanding out of your life as possible that's my motto.
This is absolutely amazing!! Can we make a community project out of this with the goal to make some diy pixel screens used at events or in virtual film production? The potential is huge and those screens usually cost a furtune…
196 x 128 = 25,088 pixels @ 12fps = 301,056 updates every second! And here I was patting myself on the back for writing a basic 3d projection animation using an ESP8266 with a 160x120 RGB TFT display. Comparison really is the thief of joy. Congrats, you built a thing of beauty
I am sure these looks more awesome when viewed from very long distance, For room projections I think even a cheap HDMI compatible projector might have better results. And yeah hats off to your hardwork and patience in building this giant screen 👍👍
That looks incredible, well done! With that you certainly earned my subscription. I assume the refresh rate is currently limited by the protocol and throughput through the ESP32 and not so much by the speed of the LEDs, right? Have you done some testing with the RGBs how quickly they can switch to see what the theoretical maximum is? If that is considerably faster, it could be worth considering a faster interlink / different protocol, so latency goes down and refresh rate goes up. This might never be a super viable gaming solution but I think it could be considerably faster and enable you to play retro games REALLY well on it. Also it would potentially allow for syncing up the modules better, as I see there is some lag between the panels. Those are just some random thoughts, so feel free to ignore them. It is an incredible project and quite the accomplishment!
Is it really necessary to frost the acrylic, given how small the pixels are? For the alignment issue, here's what I'd try: use only one big piece of acrylic (or, better, glass) and make the grids mechanically interlock rather than trusting my eyes and superglue
That’s what the headphone jacks are for. Data goes in to the first one, then it passes it on to the next and so on. I’m using open source “LMCSHD” to convert my computer screen into serial data.
The wires that connect the tiles are really thin so if I drive the panels too bright they start to turn yellow like that as available power runs out. I lowered the brightness in software until that issue went away.
You could maybe design an interlocking dovetail type pattern for the panels, to help them fit snug together and to still keep a straight edge on where they meet. Maybe for the brim it could have a perforated pattern right where you need to stop sanding to make it easier to distinguish material that's meant to be there from the flashing. Otherwise really cool project, 5/piece is a steal.
Nice project and video! One question: Aren't you worried about voltage dropping, connecting so many matrices/LEDs in series per panel? I would try to feed every matrix with its own power so that the copper trails don't get too hot supplying the last matrix in the panel
I did a lot of testing to find the best balance. I’m only driving the leds at about 5% brightness so I can take some shortcuts. In the EPIC MONTAGE there’s a clip where I drive all the pixels white and you can see the last matrix in series is pretty yellow because of the voltage drop. Lowering the brightness a bit more fixed the problem!
I have experienced quite a few fatal failures on those flexible units, thermal image at full load clearly shows the solder pads running away - also you will immediately notice luminance (and therefore chroma shift) degrading both at hotspots and bad smd solder I'm actually quite impressed how he had not at least 3 of those panels DoA needing a reflow. They are absolute bang for the buck, no question. Sometimes even below 4usd. But 800khz isn't just not cutting it for a single wire signal... If 500usd budget has to deliver this size, you'd absolutely outperform this wall with pretty much any used beamer matching the price range in both size, brightness reliability and post rave evac sellout value
i build one out of strips. was not the best idea, alot of work.. but its 5m wide and is 60hz. (but only 2500 pixel) :P. I will need to use these grid panels in the future as well!
@@Tech-Random Yeah but how do you connect LMCSHD to the ESP. You said once that it receives it through the uart port, but how does the first panel get the data and what settings do i need in LMCSHD.
@TheHolzixx I use a USB to Serial converter that I soldered to one end of an AUX cable. That plugs into UART IN of the first board. In LMCSHD I select the com port of my converter and set the baud rate to “2000000” and Colormode to 8pp RGB. I actually have four of these connections so each of the bottom panels gets its own USB connection and drives the three panels above it. Hopefully that helps. Feel free to ask more questions!
The limit here is the serial interface between my PC and the microcontroller. It’s capped at 1 Mbps so the only way to get more frames is to lower the resolution. Professional solutions use custom USB drivers which are expensive and difficult to develop.
It may be a limitation of the LEDs, but maybe you can increase the quality of the colors by using gamma correction (if you are not already using it, for instance all images use sRGB by default) Human eyes can distinguish shades of colors way better in the darker color range and not so much in bright colors, so by using gamma correction you can squeeze more distinguishable shades of colors in the same amount of bits of data The conversion formula is this: sRGB to Linear: pow(red_channel_brightness, 1.0 / 2.2) | Screen capture side Linear to sRGB: pow(red_channel_brightness, 2.2) | ESP32 side
It’s actually a limitation of the software I’m using. To drive all of these pixels at 12fps I had to reduce the colorspace to 8-bit RGB. One bit per pixel is way faster than 3, but the color accuracy is a huge compromise.
I'm sorry if I missed it, but how do you process the signal. In other words, what is the output from the computer to the screen? I am assuming usb, in that case who/what processes the video into serial data?
Namco uses these LED video walls for their giant Pacman arcade. It looks good for simple games like that. It would be great if someone made a 40" 320x240 4:3 aspect one for old arcade games and 240p consoles. There is a gap in the market for that. Nothing exists currently. Especially if it was capable of 60hz and updated line by line like a CRT monitor so old light guns would work and you could avoid motion blur. A 3d printer is the wrong tool for making stuff like this. A cnc machine would be able to make these parts in under and hour. A well dialed-in cnc machine would create parts flat enough to avoid all the sanding. 3d printed plastic will not remain stable with the heat of led lights. With a CNC machine you could use aluminum instead. If you used a front glass layer you'd be able to align the led panels perfectly so you wouldn't be able to see gaps between panels. An off the shelf single sheet of display diffuser film would hide the individual pixels without losing too much light transmission. A 15% diffuser would probably be sufficient. Rosco sells such material. That's my $0.02 anyway.
If it was just a little bit bigger you could get a pixel perfect Gameboy Advance screen. If it weren't for the low framerate, that might be the coolest thing ever.
If you make another iteration of this control board diode the positive off the power supply and the usb power together. One per incoming positive supply. The only diode that will gate will be the one with the highest voltage. They use this same setup in emergency switchgear all the generator batteries are dioded in as well as a station battery. Makes hot swapping power supplies possible.
Wow 😲 that's great and so far the most beautiful diy giant led wall. good day Sir I'm from 🇵🇭 and I wanna ask if that four groups vertically consist of 6 panel with 6 tile is connected wirelessly via web socket like your previous led wall?
@@Tech-Random thank you Sir for your reply If I'm going to make this modular type of your new design of led wall, it is possible to make it wirelessly connected via web socket like your previous led wall that has been divided on 4 vertical panels but still following this new design of modular type with 3.5mm audio jack cable for data transmission? my plan is not only to stick on a big screen display but I want this to divide it on 4 vertical panels such as your previous led wall when I'm going to use it on the stage for design on the left side and right side of the stage like events indoors.
It’s certainly worth trying. My main concern is the data rate of the websockets. The old wall was low resolution so it wasn’t an issue but this design needs a very fast connection. I talk about the software more in my dream office video if you’re interested in learning how I get a fast frame-rate.
@@Tech-Random thank you so much Sir for your knowledge on this it's a big help for us beginners who aim to know more about this Godbless to your future projects.
Good day Sir I have another question, can I increase the number of led tiles that I'm going to build? yours is 6 tiles per module and my plan is to make it 12 tiles per module (4 width x 3 length). yours is 4 modules per column and mine is also like yours 4 module consists of 12 tiles per module per 1 column of 4 columns. sorry for my deliberation I hope you understand I'm not good at the English language 😅
The old wall was hard to look at in person and always looked better on camera. This new one looks incredible in person and about the same on camera. If you’re really close it can be hard to make out individual shapes but it’s night and day compared to the old one.
You didn't cover the most important part, software Are you using WLED? Hiw do yoy get vit into the esp32? I have a cot of 16x32's lying around and want to find a way to get PC stats into WLED maybe it can be done through thr same method you are using to grt video in. I want to put the 32x16 matrix vertically inside my PC case for stats such as temps and also run sognal RGB effects on it. Even though I already have a 8.8 turzx screen in there, there is a perfect palce for the matrix
I assume that you're currently driving the LED panels data line by feeding from one panel into the next? Have you thought about running the panels in parallel allowing you to claw back some FPS?
Each vertical column is connected in series and the bottom panels are connected to my PC in parallel. That’s why the frames refresh out of sync vertically in some of the clips. I’m hoping to improve this in the future though!
@@Tech-Random ever think about implementing something like the I2SClocklessLedDriver for esp32s3? could split the overall matrix into 16 different areas which are all driven in parallel, I know FastLED.show() is blocking as it pushes data out to the LEDs so the longer each strip is the less fps you'll get, but splitting it up into 16 smaller 'strips' would mean you'd be able to populate each strip a tad bit faster. Could take it a bit further and swap to a teensy 4.1 which could do parallel output on any given pin which could allow for more zones, although that is a more expensive MCU
@@Tech-Random Check out the I2S capabilities of the ESP32, it can drive 24 channels in parallel and thus can achieve extremely high framerates! ;) Using a single ESP32 with the I2S output its very easy to push ~6k pixels over multiple channels at around 240fps. Next challange is getting the data from the PC to the ESP32 quick enough, serial is a bottle neck, but Wifi/Ethernet has much more bandwidth. :)
the few plates on the right are a little slower then the first and last one, is it possible to connect the 3d ones to the 1st one? or will that mess it up?
Printing the grid in white would help diffuse the light but result in a some color bleed between pixels. I used white PLA for my first LED wall and each tile would light up the tiles next to it a little bit so I’ve used black ever since.
@@Tech-Random fair enough! I'd be curious as to how grey would fare, potentially making the grid slightly less pronounced. None the less, an awesome and well executed project!
I know this is old, but you should look into Chemcast Black LED Plastic Sheets . It is specifically designed to allow light through, but it's back and diffused
Great suggestion! I just looked it up and it would be about double the price of what I did by frosting the acrylic and tinting it myself. But that was 70% of the work for this project so in hindsight it would have been worth it 😂
This is pretty cool, but I wonder: What is the main limitation for the 12fps frame rate? Too many LEDs in series, the ESPe not being fast enough or the data connection being not fast enough?
It’s the data coming in from my PC. USB Serial is limited to 1 Mbps so the math is 192 x 128 = 24,576 Bytes per frame. 24,576 x 8 = 196,608 bits per frame so about 5 frames per second. I’m running groups of 4 panels in parallel so I have a theoretical max of 20 frames per second with this setup.
That was a pretty awesome build, well done! The overall look and posterization is great :D What baud rate were you using for the serial connections by the way, was it standard 9600? -- I assume higher baud might reduce lag between individual panel squares, but could introduce corrupt/missing frames.
@@Tech-Random Woooow that's impressive performance for serial! Did you talk about *choosing* serial in another video? Or is it the *only* inter-ESP comms method that can work [for your displays]? -- Not an expert myself!
These remind me of the twinkly squares. Some more refinement on the squares and this could way more awesome than they are. Wish I had the skills to edit /design 3D items.
When printing the 16x16 grids, could you avoid printing the frame on the right/top of each module so that when they are placed next to each other, a double thickness is not created, which would then be visible as a grid when the display is on.
This is really cool! Have you thought of adding some dithering either to the signal from your pc or on the controllers to get less banding with your limited bit depth?
Too expensive: www.aliexpress.us/item/2251832133665850.html?spm=a2g0n.productlist.0.0.3967246eguO7NI&browser_id=e20afc80bb6f4d0093a55219d6849599&aff_platform=msite&m_page_id=yovdhwwuwicacbbk19152281b7f1a71c7bb6e40414&gclid=&pdp_npi=4%40dis%21USD%2184.50%2165.91%21%21%2184.50%2165.91%21%402101e62517236602458696042eb4e5%2161427381998%21sea%21US%210%21ABX&algo_pvid=9ee08d0e-fccd-400e-b726-0e4b67e6c016&_universallink=1&m_page_id=yovdhwwuwicacbbk19152281b7f1a71c7bb6e40414
Trying to print this circuit on jlcpcb but get this error: The below parts won't be assembled due to data missing. SPI_IN,SPI_OUT,H1,H2 designators don't exist in the BOM file.
Pick up a nicer 3D printer (doesn't even need to be resin, just a nice modern FDM printer like a bambu labs). You could have avoided removing the brims and any sanding. Definitely worth the investment!
I feel robbed that you didn't try Doom. At the very least you could have done Mario Bros. And I also hate you for making this and showing me because my OCD brain wants another incomplete project in my hobby room. lol
Seeing such a low pixel density and low colour range. It actualy shows how close the devs back in the day we're interested of realisim with the tech they had
Cool project. I might try it myself but smaller. My Bambu Lab P1S combo can happily put down a 0.2mm layer across the print bed 256x256 mm. This in white will make a good diffusor. The black cells 16x16 panel can be printed diredtly on top after chaging filament making a one pice with an integrated diffusor.
A black diffuser with white walls will give you better color accuracy. The white diffuser does a good job softening the light but you lose black and grey pixels so your images will look washed out.
I would have recommended getting SK9822 or APA102c based ARGB Matrices, as they have a separate clock line, letting you push more data by increasing the clock, thus increasing framerate. the SK9822 IC can go up to 15 MHz, which is 18.75 times faster than WS2812B (800 kHz)
10:53 "unlike a lightbulb which can be dimmed by reducing the amount of energy going into it, LEDs are limited to an ON or OFF state". first ... no? with the On/Off switching you DO limit the amount of energy..... that is the point of PWM. And secondly LEDs can be simply current-controlled and it is the superior way but a bit more complex so hardly ever used. It is better for efficiency and lifetime of the system.
A resin printer would have improved the printing time considerably, and there is no need to sand them afterward. In SLA Printing only the overall Print time matters (Influenced by hight of the print) but not the amount of objects you print at the same time. With a good dialed in settings, on a decently sized printer you could have printed 10 of these tiles at ones. And you could have printed the Diffuser right on it (SLA allows for much much thinner layers) Also Consider small plastic lenses to get an better even spread of the light. Great Video and Project btw :)
Maybe I should stick to Tetris 😅
I'm slightly surprised you didn't follow the memes and play either Doom, Crysis or Skyrim.
You should try something like Super Meat Boy or Celeste on it LOL
Play doom on it
I am surprised you didn't try some retro titles. Why not asteroids? Or maybe an old Gameboy game?
@@Bonker42069 CLASSIC doom 100%
Funny, I just thought about doing a project like this the other day! Things I think could improve your project would be:
-Make the outer walls half thickness of the inner walls so that when the panels are joined the seam isn't as visible. Alternatively, leave sides out depending on the panels placement.
-Do alignment tabs/grooves/holes to make sure panels align well.
-SLA print in stacks (If you have one big enough). It would be faster, reduce sanding and then the left over support (if any) would be on the back/front and thereby not messing with the alignment.
-If your wall isn't completely flat, first mount a flat piece of wood. This helps panel alignment and reduces panel mounting workload (screwing) considerably if you have hard walls like concrete or bricks.
Congratulations on 12fps! That's really impressive for a DIY screen of this size running on ESPs 😲
I actually also thought about doing a project like this and had the same ideas with the half thickness, alignement tabs and the wood on the wall i havent thought about sla printing tho :)
Your Dad and I would’ve been thrilled with that resolution playing Legend of Zelda on the original NES. Nice job! -CJ
this is a perfect representation on how oled screens work. awesome build
*micro-led
@driver7227 I should call this the macro-LED tv 😂
I can fix any combustion engine or anything mechanical. But I'm at a loss when it comes to this type of stuff. It is just amazing the knowledge you have to do this type of work. Keep it up
Having a monitor in front and using this for your peripheral vision would be pretty neat and immersing 😎
Awesome. I love pixel art. So if I had this, it would play animated pixel wallpapers all day.
Please make another video in the series on trying to increase the bit depth and refresh rate. That would drive me crazy
Next project is to create a game or program to be specifically used on this screen! Such a cool project! I love it! Keep up the hard work!
i think old arcade cabenet games would be cool, like tetris, pac man, donkey kong, etc
As professional led wall technician I must say GOOD JOB for a diy project 💪
Actuall panels don't have a plexiglass sheet. Cheap ones are glues in with transparent silicone and the pricier ones have plastic "lenses" optional with a dark tint so black in the signal appears black on screen. Of course the pixel density is much higher but who knows what you'll come up with in the future 😅
Greetings from Munich, Germany 🇩🇪 TUM CS Student here. Loved the Video with all the builds, explanations and "life advice" sections. You've earned yourself a new sub ;). Keep it up!
You are a genius. Thank you so much for sharing the files :)
Getting it up to 24 frames per second would be perfect to watch movies
This has given me a better understanding of our church sign out front & how to repair it. T_T
Oh man, it would be siiiiiiiiick to do this on my gaming room wall.
This is a fun video/project - I have a suggestion for mounting all of the panels on the acrylic - you could have either put registration features on the sides of the panels, or used the channels you’ve already created to align all of the sections of a panel together more easily. If you created a grid from some tubes, you could have placed that in the channels, and that could have held all of the panels together.
This is just what i needed! Im going to take some of the stuff i learned and make large diffused photo frames.
Thank you for such a great and informative video!
I've done similar thing but painted the grid white and it helps with the diffusion and gets little bit more brightness from the pixels.
I love your diffusor tile. Works great for WLED matrices. I've been waiting for this update.
A couple relatively cheap tools you should buy that would make your job faster and look better. An oscillating tool you could trim everything flush in seconds, super glue activator make it dry instantly. If you want to get fancy a router to flush trim things. Cut as much sanding out of your life as possible that's my motto.
This is absolutely amazing!! Can we make a community project out of this with the goal to make some diy pixel screens used at events or in virtual film production? The potential is huge and those screens usually cost a furtune…
EPIC BRO!!! Great Job!
196 x 128 = 25,088 pixels @ 12fps = 301,056 updates every second!
And here I was patting myself on the back for writing a basic 3d projection animation using an ESP8266 with a 160x120 RGB TFT display. Comparison really is the thief of joy.
Congrats, you built a thing of beauty
Nice video and great work. I couldn't believe you played so close to it, we had a nice view way behind it.
I am sure these looks more awesome when viewed from very long distance,
For room projections
I think even a cheap HDMI compatible projector might have better results.
And yeah hats off to your hardwork and patience in building this giant screen 👍👍
For the acrylic, why not use larger sheets of like 120x240CM?
I was waiting on this video! Great job! Keep it up!
That looks incredible, well done! With that you certainly earned my subscription.
I assume the refresh rate is currently limited by the protocol and throughput through the ESP32 and not so much by the speed of the LEDs, right? Have you done some testing with the RGBs how quickly they can switch to see what the theoretical maximum is? If that is considerably faster, it could be worth considering a faster interlink / different protocol, so latency goes down and refresh rate goes up. This might never be a super viable gaming solution but I think it could be considerably faster and enable you to play retro games REALLY well on it. Also it would potentially allow for syncing up the modules better, as I see there is some lag between the panels.
Those are just some random thoughts, so feel free to ignore them. It is an incredible project and quite the accomplishment!
I was expecting a pixel art game with this screen. Nice video
Is it really necessary to frost the acrylic, given how small the pixels are?
For the alignment issue, here's what I'd try: use only one big piece of acrylic (or, better, glass) and make the grids mechanically interlock rather than trusting my eyes and superglue
Could you please explain how you made all the screens appear as one monitor? Thanks.
That’s what the headphone jacks are for. Data goes in to the first one, then it passes it on to the next and so on. I’m using open source “LMCSHD” to convert my computer screen into serial data.
could you explain what happened at 16:40, that white-yellow gradient - was that the panel running out of power? how did you fix it?
The wires that connect the tiles are really thin so if I drive the panels too bright they start to turn yellow like that as available power runs out. I lowered the brightness in software until that issue went away.
dude, a fellow hardware developer that likes good kid? Epic. subscription earned!
You could maybe design an interlocking dovetail type pattern for the panels, to help them fit snug together and to still keep a straight edge on where they meet. Maybe for the brim it could have a perforated pattern right where you need to stop sanding to make it easier to distinguish material that's meant to be there from the flashing.
Otherwise really cool project, 5/piece is a steal.
Nice project and video! One question: Aren't you worried about voltage dropping, connecting so many matrices/LEDs in series per panel?
I would try to feed every matrix with its own power so that the copper trails don't get too hot supplying the last matrix in the panel
I did a lot of testing to find the best balance. I’m only driving the leds at about 5% brightness so I can take some shortcuts. In the EPIC MONTAGE there’s a clip where I drive all the pixels white and you can see the last matrix in series is pretty yellow because of the voltage drop. Lowering the brightness a bit more fixed the problem!
I have experienced quite a few fatal failures on those flexible units, thermal image at full load clearly shows the solder pads running away - also you will immediately notice luminance (and therefore chroma shift) degrading both at hotspots and bad smd solder
I'm actually quite impressed how he had not at least 3 of those panels DoA needing a reflow. They are absolute bang for the buck, no question. Sometimes even below 4usd. But 800khz isn't just not cutting it for a single wire signal... If 500usd budget has to deliver this size, you'd absolutely outperform this wall with pretty much any used beamer matching the price range in both size, brightness reliability and post rave evac sellout value
i build one out of strips. was not the best idea, alot of work.. but its 5m wide and is 60hz. (but only 2500 pixel) :P.
I will need to use these grid panels in the future as well!
Nice wall :) I suggest alignment pins in the model to perfectly align them.
Impressive HW Build. Where can I learn about the software and networking to get the images/video displayed once the arrays are built?
Look up LMCSHD on TH-cam. I have my own fork but you can use the main build for this project!
@@Tech-Random Yeah but how do you connect LMCSHD to the ESP. You said once that it receives it through the uart port, but how does the first panel get the data and what settings do i need in LMCSHD.
@TheHolzixx I use a USB to Serial converter that I soldered to one end of an AUX cable. That plugs into UART IN of the first board. In LMCSHD I select the com port of my converter and set the baud rate to “2000000” and Colormode to 8pp RGB. I actually have four of these connections so each of the bottom panels gets its own USB connection and drives the three panels above it. Hopefully that helps. Feel free to ask more questions!
@@Tech-Random Ahh ok. On the Aux, what Pins so i need to solder tx rx and gnd to
@TheHolzixx It should be green to ground, red to RX and white to TX. Some aux cables may use black instead of green.
Great job! While playing, it didn't look too bad. Maybe sitting farther away from the screen would have helped. But, overall, nice project.
That's like 3rd video in a row that uses Vivaldi's Winter. Algo knows I love this tune...
AWESOME ! Old pixel games would be PERFECT
Great looking project! Would it be possible to get the framerate faster than 12 fps? A video wall with 30fps would be fantastic!
The limit here is the serial interface between my PC and the microcontroller. It’s capped at 1 Mbps so the only way to get more frames is to lower the resolution. Professional solutions use custom USB drivers which are expensive and difficult to develop.
@@Tech-Random wait hear me out, its already low quality on the wall, you could do 4:3 without any prlms
It may be a limitation of the LEDs, but maybe you can increase the quality of the colors by using gamma correction (if you are not already using it, for instance all images use sRGB by default)
Human eyes can distinguish shades of colors way better in the darker color range and not so much in bright colors, so by using gamma correction you can squeeze more distinguishable shades of colors in the same amount of bits of data
The conversion formula is this:
sRGB to Linear: pow(red_channel_brightness, 1.0 / 2.2) | Screen capture side
Linear to sRGB: pow(red_channel_brightness, 2.2) | ESP32 side
It’s actually a limitation of the software I’m using. To drive all of these pixels at 12fps I had to reduce the colorspace to 8-bit RGB. One bit per pixel is way faster than 3, but the color accuracy is a huge compromise.
I'm sorry if I missed it, but how do you process the signal. In other words, what is the output from the computer to the screen? I am assuming usb, in that case who/what processes the video into serial data?
Look up “LMCSHD” on TH-cam. It’s great but USB serial is kind of slow for this much data
@@Tech-Randomisn't that the guy who reviews tech?
Namco uses these LED video walls for their giant Pacman arcade. It looks good for simple games like that.
It would be great if someone made a 40" 320x240 4:3 aspect one for old arcade games and 240p consoles. There is a gap in the market for that. Nothing exists currently.
Especially if it was capable of 60hz and updated line by line like a CRT monitor so old light guns would work and you could avoid motion blur.
A 3d printer is the wrong tool for making stuff like this. A cnc machine would be able to make these parts in under and hour.
A well dialed-in cnc machine would create parts flat enough to avoid all the sanding.
3d printed plastic will not remain stable with the heat of led lights. With a CNC machine you could use aluminum instead.
If you used a front glass layer you'd be able to align the led panels perfectly so you wouldn't be able to see gaps between panels.
An off the shelf single sheet of display diffuser film would hide the individual pixels without losing too much light transmission. A 15% diffuser would probably be sufficient. Rosco sells such material.
That's my $0.02 anyway.
If it was just a little bit bigger you could get a pixel perfect Gameboy Advance screen. If it weren't for the low framerate, that might be the coolest thing ever.
I love the build of this!
i would have used pogo pins instead of the 3,5 inch plugs with some magnets it would connect bye holding a tile close to the rest
This was my original vision for the project but it was going to be too expensive
Why u didn't order regular matt effect acrylic sheet?
Cost
@@Tech-Random What grid of sandpaper u used for acrylic sheet?
This needs more likes
If you make another iteration of this control board diode the positive off the power supply and the usb power together. One per incoming positive supply. The only diode that will gate will be the one with the highest voltage. They use this same setup in emergency switchgear all the generator batteries are dioded in as well as a station battery. Makes hot swapping power supplies possible.
congrats for 10k subs!
Wow 😲 that's great and so far the most beautiful diy giant led wall.
good day Sir I'm from 🇵🇭 and I wanna ask if that four groups vertically consist of 6 panel with 6 tile is connected wirelessly via web socket like your previous led wall?
The panels are connected using 3.5mm audio jack cables and all of the data is transmitted through a Serial connection
@@Tech-Random thank you Sir for your reply If I'm going to make this modular type of your new design of led wall, it is possible to make it wirelessly connected via web socket like your previous led wall that has been divided on 4 vertical panels but still following this new design of modular type with 3.5mm audio jack cable for data transmission?
my plan is not only to stick on a big screen display but I want this to divide it on 4 vertical panels such as your previous led wall when I'm going to use it on the stage for design on the left side and right side of the stage like events indoors.
It’s certainly worth trying. My main concern is the data rate of the websockets. The old wall was low resolution so it wasn’t an issue but this design needs a very fast connection. I talk about the software more in my dream office video if you’re interested in learning how I get a fast frame-rate.
@@Tech-Random thank you so much Sir for your knowledge on this it's a big help for us beginners who aim to know more about this Godbless to your future projects.
Good day Sir I have another question, can I increase the number of led tiles that I'm going to build?
yours is 6 tiles per module and my plan is to make it 12 tiles per module (4 width x 3 length).
yours is 4 modules per column and mine is also like yours 4 module consists of 12 tiles per module per 1 column of 4 columns.
sorry for my deliberation I hope you understand I'm not good at the English language 😅
does the diffusion look different in person? ik cameras can act weird around defused leds
The old wall was hard to look at in person and always looked better on camera. This new one looks incredible in person and about the same on camera. If you’re really close it can be hard to make out individual shapes but it’s night and day compared to the old one.
Where do you get those motion backgrounds/effects?
You didn't cover the most important part, software
Are you using WLED?
Hiw do yoy get vit into the esp32?
I have a cot of 16x32's lying around and want to find a way to get PC stats into WLED maybe it can be done through thr same method you are using to grt video in.
I want to put the 32x16 matrix vertically inside my PC case for stats such as temps and also run sognal RGB effects on it.
Even though I already have a 8.8 turzx screen in there, there is a perfect palce for the matrix
I assume that you're currently driving the LED panels data line by feeding from one panel into the next?
Have you thought about running the panels in parallel allowing you to claw back some FPS?
Each vertical column is connected in series and the bottom panels are connected to my PC in parallel. That’s why the frames refresh out of sync vertically in some of the clips. I’m hoping to improve this in the future though!
@@Tech-Random ever think about implementing something like the I2SClocklessLedDriver for esp32s3?
could split the overall matrix into 16 different areas which are all driven in parallel, I know FastLED.show() is blocking as it pushes data out to the LEDs so the longer each strip is the less fps you'll get, but splitting it up into 16 smaller 'strips' would mean you'd be able to populate each strip a tad bit faster.
Could take it a bit further and swap to a teensy 4.1 which could do parallel output on any given pin which could allow for more zones, although that is a more expensive MCU
@@Tech-Random Check out the I2S capabilities of the ESP32, it can drive 24 channels in parallel and thus can achieve extremely high framerates! ;)
Using a single ESP32 with the I2S output its very easy to push ~6k pixels over multiple channels at around 240fps.
Next challange is getting the data from the PC to the ESP32 quick enough, serial is a bottle neck, but Wifi/Ethernet has much more bandwidth. :)
Buy more.. they are $0.99 a tile right now (13:30 EST on the 15th)
the few plates on the right are a little slower then the first and last one, is it possible to connect the 3d ones to the 1st one? or will that mess it up?
Was there any reason you printed the grids in black and not white or grey which would be more reflective and increase brightness?
Printing the grid in white would help diffuse the light but result in a some color bleed between pixels. I used white PLA for my first LED wall and each tile would light up the tiles next to it a little bit so I’ve used black ever since.
@@Tech-Random fair enough! I'd be curious as to how grey would fare, potentially making the grid slightly less pronounced. None the less, an awesome and well executed project!
why not leave 2 outer walls of the tiles while printing so they connect seemlessly and dont build a thincker line between them?
the outside line being thick is good for structure maybe not for finished form
I know this is old, but you should look into Chemcast Black LED Plastic Sheets
. It is specifically designed to allow light through, but it's back and diffused
Great suggestion! I just looked it up and it would be about double the price of what I did by frosting the acrylic and tinting it myself. But that was 70% of the work for this project so in hindsight it would have been worth it 😂
Really cool project. Did you consider printing stacks of the frames instead of one at a time?
This is pretty cool, but I wonder: What is the main limitation for the 12fps frame rate? Too many LEDs in series, the ESPe not being fast enough or the data connection being not fast enough?
It’s the data coming in from my PC. USB Serial is limited to 1 Mbps so the math is 192 x 128 = 24,576 Bytes per frame. 24,576 x 8 = 196,608 bits per frame so about 5 frames per second. I’m running groups of 4 panels in parallel so I have a theoretical max of 20 frames per second with this setup.
That was a pretty awesome build, well done! The overall look and posterization is great :D
What baud rate were you using for the serial connections by the way, was it standard 9600? -- I assume higher baud might reduce lag between individual panel squares, but could introduce corrupt/missing frames.
The baud rate maxes out at 921600 but technically I’m running these at 2000000 to squeeze every bit of speed I can get
@@Tech-Random Woooow that's impressive performance for serial! Did you talk about *choosing* serial in another video? Or is it the *only* inter-ESP comms method that can work [for your displays]? -- Not an expert myself!
You should check out the brush super glue they make, I think it’s pretty useful
These remind me of the twinkly squares. Some more refinement on the squares and this could way more awesome than they are. Wish I had the skills to edit /design 3D items.
Well there's a project I gave up on. I was working on the pixel density by using individual LEDs. I love soldering, just not that much.
awesome job!
When printing the 16x16 grids, could you avoid printing the frame on the right/top of each module so that when they are placed next to each other, a double thickness is not created, which would then be visible as a grid when the display is on.
I see. You made a low rez monitor that makes you take moms advice and not sit to close.😄
Just think, for the low, low price of another $72K in displays you could have made your own 820 in 1080p monitor.👍
This is really cool! Have you thought of adding some dithering either to the signal from your pc or on the controllers to get less banding with your limited bit depth?
Colors and luminance will be all over the place anyway, as those panels cover 0 to 100% defect rate perfectly linear
Any reason you didn't use the APA102 pixels?
Too expensive:
www.aliexpress.us/item/2251832133665850.html?spm=a2g0n.productlist.0.0.3967246eguO7NI&browser_id=e20afc80bb6f4d0093a55219d6849599&aff_platform=msite&m_page_id=yovdhwwuwicacbbk19152281b7f1a71c7bb6e40414&gclid=&pdp_npi=4%40dis%21USD%2184.50%2165.91%21%21%2184.50%2165.91%21%402101e62517236602458696042eb4e5%2161427381998%21sea%21US%210%21ABX&algo_pvid=9ee08d0e-fccd-400e-b726-0e4b67e6c016&_universallink=1&m_page_id=yovdhwwuwicacbbk19152281b7f1a71c7bb6e40414
Very cool! Just curious with that set up would it work to make an enclosed cube?
Very cool projects! Out of curiosity, why did you not go with P10 or P6 matrix panels?
Price
Trying to print this circuit on jlcpcb but get this error:
The below parts won't be assembled due to data missing.
SPI_IN,SPI_OUT,H1,H2 designators don't exist in the BOM file.
This is expected. Those parts are meant to be unpopulated because they don’t provide any necessary functionality
Excellent work! Where is the software used to convert the pc screen pixels into the custom protocol that the board receives?
Look up LMCSHD on TH-cam!
I would love to scale this to my roof so I could play Doom on my xmas lights 😂
Pick up a nicer 3D printer (doesn't even need to be resin, just a nice modern FDM printer like a bambu labs). You could have avoided removing the brims and any sanding. Definitely worth the investment!
I feel robbed that you didn't try Doom. At the very least you could have done Mario Bros. And I also hate you for making this and showing me because my OCD brain wants another incomplete project in my hobby room. lol
Perfect for Atari2600 or NES retro gaming
Seeing such a low pixel density and low colour range. It actualy shows how close the devs back in the day we're interested of realisim with the tech they had
Cool project. I might try it myself but smaller. My Bambu Lab P1S combo can happily put down a 0.2mm layer across the print bed 256x256 mm. This in white will make a good diffusor. The black cells 16x16 panel can be printed diredtly on top after chaging filament making a one pice with an integrated diffusor.
A black diffuser with white walls will give you better color accuracy. The white diffuser does a good job softening the light but you lose black and grey pixels so your images will look washed out.
You absolute MadLad.
did something similar with a group of friends, but a large cieling and much different design constraints, over a decade ago.
Could you please explain the Software you‘re using?
I use an open source program called LED Matrix Control Software HD. Look up “LMCSHD” on TH-cam and you’ll find some great videos on it!
I would have recommended getting SK9822 or APA102c based ARGB Matrices, as they have a separate clock line, letting you push more data by increasing the clock, thus increasing framerate. the SK9822 IC can go up to 15 MHz, which is 18.75 times faster than WS2812B (800 kHz)
Very cool man
setting up the 3D printer to knock the print off deliberately is clever!
What a colorful space heater (energy bill to the moon).🚀
Amazing!
Hey, what's that spiderman animation at 19:30 ???
“Hero” music video by Martin Garrick and Jvke
Doom would look great on the panel.
10:53 "unlike a lightbulb which can be dimmed by reducing the amount of energy going into it, LEDs are limited to an ON or OFF state".
first ... no? with the On/Off switching you DO limit the amount of energy..... that is the point of PWM.
And secondly LEDs can be simply current-controlled and it is the superior way but a bit more complex so hardly ever used. It is better for efficiency and lifetime of the system.
What about the software? What are you running on those ESPs? How do you get a HDMI signal to them?
And could you turn hdmi signals into this serial UART Raspberry pi hdmi2camera input board?
Why not just diode OR the two 5v supplies opposed to having a switch?
why not just by the led tiles and controllers?
Expensive
A resin printer would have improved the printing time considerably, and there is no need to sand them afterward.
In SLA Printing only the overall Print time matters (Influenced by hight of the print) but not the amount of objects you print at the same time.
With a good dialed in settings, on a decently sized printer you could have printed 10 of these tiles at ones. And you could have printed the Diffuser right on it (SLA allows for much much thinner layers)
Also Consider small plastic lenses to get an better even spread of the light.
Great Video and Project btw :)