Hi, Phill here! We recently moved office and needed something to dazzle guests when they entered our lobby (other than the tasteful-yet-blinding yellow walls). We debated all sorts of things from a large 3D printed model of our logo (edgy) down to some nice plants (pretty). In the end, we ended up building a large LED video wall. Obviously.
So how do you end up building a large LED video wall? One Saturday I was building a train departure board from some LED panels I had acquired (as you do) and wondered if it could be cranked up from 2 panels to LOTS more panels — 48 panels, in fact — to create a large video. Wouldn’t that look great when people entered the office I thought. After all, how hard could it be?
Turns out, it’s very hard to get a tonne of LED panels to display something in unison, and even harder to physically place them together.
A word of warning before you continue and decide you want to build your own: this project will literally destroy your life.
I’ve blown up components, shocked myself, cut myself, got metal shards in my eye, and had large metal frames fall on me 🤕. Needless to say this isn’t for the faint of hearted. Going from 2 panels cello-taped together showing text, to 48 panels showing 60 fps video is quite a bit different.
This is by no means and exhaustive guide. I don’t confess to be an expert on building LED screens — this is more of a general gist than an exact recipe.
Okay now with the warnings and the “I told you so” out of the way, here’s what you need to know.
Stats and specs
- Cost: About £1,000 in raw components. Then about the GDP of a small country if you factor in labour.
- Build time: Honestly I lost track. I started the project about 3 months ago having no idea what I was doing, and only doing it in my spare time — so maybe you’ll fare better.
- Size: 2 meters width by 1.2 meters height
- Resolution: A whopping 384 x 256. (It sounds way more impressive if you say that’s 98,304 individual LEDs you’re addressing)
- Number of panels: 48
- Number of Power Supplies: 3 x 5V 60amp transformers
- Some electronics know-how. I’m by no means an expert, but I know 60 amps * 5v = 300 Watts. Just about.
- Patience. This thing took a long time to assemble, not to mention waiting for parts to arrive from China 🇨🇳. Hopefully this post will speed things up and you can order everything in one go (as opposed to ordering a bit, seeing if it fits, ordering more, etc)
Okay, so I started with a Raspberry Pi 3, but it was woefully inadequete. Don’t do that.
For my initial LED board I was using a Raspberry Pi 3 with a couple of LED Matrix Panels I got from Amazon. I was using a fantastic library by Henner Zeller (rpi-rgb-led-matrix) to drive the panels from the GPIO on the Pi.
The problem came when I tried scaling up the number of panels. When it got to about 28 panels, things started flickering, the refresh rate was poor, and anything with motion looked like crap. It became clear the Pi wasn't going to cut it.
Henner has a pretty good guide on his Github if you don’t plan on going past 28ish pannels. You can still follow the rest of this guide for the frame and power solution.
You might be wondering where all those panels suddenly came from…
Ordering 46 more panels from Amazon wouldn’t have been that cost effective, as it would have been about £27 per panel, so I needed to get my bulk order on — plus the pannels were fairly small in size.
Thankfully you can find these panels from sites like Aliexpress / Alibaba or DHgate (where I placed my order). My supplier is no longer — urr–supplying, so you’ll need to have a little search around for your own.
The panels I used were P5, 32*64, 320mm x 160mm, 1/16 scan, RGB, HUB75. Catchy. That got the cost of a panel down to about £18. Nice.
After waiting about 2 weeks for them to be shipped from China, they arrived!
It’s worth noting that the panels should also come with power and data connectors (IDC 16 Ribbon Cable).
The Frame: How do you fix 48 panels together? With great difficulty apparently.
I have a lot of regrets on this projects, but by far the biggest is the frame. Oh man, how hard could it be to fix 48 panels together?
Magnets. Hundreds of them.
The panels came with large magnetic flat head screws that can hold the weight of the panel when stuck to a metal surface. So we designed a frame of horizontal metal bars at regular intervals to stick them to.
And this would have worked quite well, if it weren’t for the fact lining up the bars to match the exact position of the screws is incredibly fiddly, and requires very precise measurements and drilling. Even the smallest drift in measurements meant the screws wouldn’t make contact, and the panels wouldn’t stick.
If at first you don’t succeeed… keep drilling random holes.
After drilling and fixing all the horizontal bars to the vertical, the 4th, 5th and 6th row of panels didn’t make contact, and wouldn’t stick.
So I re-drilled one row at a time and physically placed the panels on to check they were making contact.
Even then when I stood everything up right the 4th row still didn’t make contact. It was just every so slightly out. So I used cable ties to support the 4th row.
I mean this frame works, but if I was starting the project again I would definitely use taller bars so there’s more wiggle room for the magnets to stick onto. (It also means once it’s built it’s impossible to move it without taking the panels off, otherwise they’ll just fall.
Powering the panels.
So the manufacture says each panel has a maximum draw of 18 watts, and the panels require 5 volts. That gives us a draw of 3.6 amps per panel (Watts / Voltage). So for 48 panels we’re gonna need a 172.8 amp transformer. Now I’m no electrician, but suddenly this thing sounds very dangerous.
The highest amp transformer I could find was a 5V 60A transformer from Amazon, so three are needed to give us 180 amps.
Don’t do what I did, which was get overly excited and want to try out more panels than the transformer could handle. I don’t know what I expected to happen, but quelle surprise, it overheated and never turned on again. Don’t do that.
There’s a few ways of doing it, but I found the simplest way was to have it ‘star out’ from the transformer. An individual transformer powered 16 panels (2 along and 8 down).
If your cables have little metal hooks, clip them off and strip the plastic back. I then fed cables from multiple panels (4 wires that then branch off to 8 panels) into a terminal block.
I then fed a wire from the 2 terminal blocks (upper and lower panels) to the transformer. Repeat for the other transformers. And it should be as simple as that for power!
Finally you’ll need to hook up the data cables between panels. That’s just standard IDC 16 ribbon cable that should have come with the panels.
The Graphics Card
I mentioned earlier the Raspberry Pi wasn’t sufficient to power that number of panels, so what is?
In the end I ended up turning to some pro hardware that’s used by actual manufactures of these displays. The names vary, and there’s a couple of brands, but they’re generally called ‘LED sender and receiver cards’.
The sender card plugs into a computer or other HDMI input. An ethernet cable then connects the sender to a receiver card, which in turn connects to the LED panels via ribbon cables.
I ended up ordering:
These are considerably more pricey than the Pi, clocking in about £140 in total with shipping and tax, but the results are dramatically better. You’ll also need a dedicated computer or other device to drive.
Wiring the panels to the receiver board
You’re going to need to cut your own ribbon cables, as otherwise each row won’t reach the card. I bought some 16 way flat ribbon cable from RS components, as well as matching IDC connector heads. You just need to clamp down the cable between the heads of the connector, and voila, custom ribbon cable!
The receiver card has some very tiny markings numbering each slot, starting from 0 to 11, so your top row goes to 0, second to 1, and so on.
You’ll need to wire in power to both the sender AND the receiver card. For the receiver card I used the spare lane from one of the transformers at the back of the display. I got a seperate 2.5 amp plug for the sender card, as it was going to be some distance away from the display (in our comms room, connected through a ~150ft ethernet connection).
Configuring the cards
The bad news: you’re gonna need to configure the card from a Windows installation. The badder news: the software was designed by the dude who made the original Geocities template. The good news is you’ve made it this far without injuring or killing yourself. The final horcrux.
By the way I’m assuming you’re using the same cards and same panels as the rest of this guide, otherwise you may need to tweak some of these steps to fit.
Start off by connecting the USB and DVI to your computer. I was using my Mac with Parallels to run Windows. Download LED Studio.
Open up LED Studio and go to Option > Software Setup.
Then without clicking anything type the letters “linsn”. A dialogue should pop up asking you to input a password.
Now the password is “168”. Why? I have no idea, but you should now have access to some advance settings (aka the ones we need to configure the card). On the tabs along the top, select “Reciever 1”. Then in the “Load capacity setup” enter the width and height of your display in pixels. So if each panel represents 64 pixels, and we have 6 going along horizontally, then the width would be 64 * 6 = 384. Same for height, 32 * 8 = 256. Then click “Send to receiver”.
And them boom! That’s it, you should be seeing something on your display.
Help! Things aren’t working!
Honestly, it could be so many things. A lot of this was just trial and error, so like I said, have some patience, step through things methodically, and have a play around with settings if you’re not getting a good picture.
A quick word on what’s actually driving the content. It’s a Mac Mini running a custom app. It has a JSON file that can define playlists of content that can:
- Play things on specific days
- Play things at a specific time
- Play videos, photos and gifs
It also has a Slack channel where you can DM it messages and gifs.
Anyways, that’s it! If you decide to go ahead with this, good luck! Happy Jumbotroning.