Using our 16x32 RGB LED matrix panels and a bit of patience, you can create a crazy bright professional LED wall of any size! In this tutorial we will be using 18 panels to create a 96x96 pixel display, which measures roughly 2ft square (video above GIF animations by lulinternet -

The video decoder boards do all the hard work - All you need is a DVI/HDMI/Displayport output with the proper cable, a good 5V power supply and a little wiring time. The driver supports up to 1024x800 displays but we found even 96x96 was pretty cool! Once programmed and configured you can use any video source, we've gotten the wall to display from a Mac or PC (or BeagleBone!) without any problems. Now you can make your own LED video displays for fun!

Please note! This is not a a beginner project! There's a lot of wiring and power management. We don't sell all the components required so you may need to spend some time getting all the parts you need. Building the wall can take a few weekends and requires care and patience. Here at Adafruit we love this kind of thing, and we have documented the process as best as possible but there's not a lot of documention out there about these systems so even though we got our wall working nicely we do not offer any kind of consulting or assistance beyond our forum tech support. This is not a project for a mission-critical, outdoor, mobile or other LED display or for use beyond hobbyist hacking!
From left to right: IDC adapter for the receiver, receiver card, & sender card.

The system is designed so that the LED wall can be run at a great distance from the video source. The sender card takes a DVI input, and spits it out over Ethernet to the receiver card, where it is decoded and then displayed on the LED wall.
You will need a lot of stuff to build this wall! Here is a list of what we used - it might be incomplete, we'll correct as we find mistakes!

Also, a variety of tools! Hacksaw, Allen wrenches, heat gun for heatshrink, wire cutters & strippers, etc.

Note that some RGB panels are threaded for M4 hardware and some are threaded for M3 hardware. Make sure of the thread size before ordering screws and T-nuts.
Single 16x32 RGB panel, front + back.

Each panel has arrows indicating the orientation + data flow between them. The first panel of each row will eventually be connected to the receiver card, taking the data and passing it along to the rest of the panels in its row.
To seamlessly mount the panels together, screw six oval T-nut's into the back of every panel so that they can slide easily into the aluminum extrusion frame (see the next section).

A M4 1/2" zinc screw and 3/16 nylon spacer provides just enough room for the nut to slide in nice and snug.
Lay them all out on a flat surface making sure their orientation is correct. Up arrow points up (duh) and each panel's output points towards the next's input.
The frame is made up of five 20mmx40mm double slotted aluminum extrusions and four 20mmx20mm single slotted aluminum extrusions.

All 5 double slotted extrusions need to be cut into 20.75" lengths. These will hold each row on top of eachother.

2 of the 4 single slotted extrusions also need to be cut into 20.75" lengths. These will hold the very top and bottom of the panels together. The other two remain uncut and act as a side brace/stand.

Mark the aluminum extrusions at 20.75" lengths and cut with a fine toothed hacksaw
Orient the oval T-nuts horizontally and carefully slide them into the 20.75" double slotted extrusions, connecting the panels on top of one another. It should be tight, but if it won't slide any further, loosen up the screw a bit. Repeat this 4 more times. At the very top and bottom of the full wall, slide the 20.75" cut single extrusions to keep them even.

At this point the panels will have plenty of horizontal support, but need to be braced vertically. Now orient the outer oval T-nuts vertically and slide the 2 uncut single extrusions so that they line up with the top-most horizontal extrusion. They'll stick out a bit at the bottom.
To secure the frame together, use 4 double corner braces, one in each corner. Drop 2 slim T-nuts into the extrusion's slot, lining them up with the corner braces holes. If the nuts need to repositioned underneath the brace, use the allen key to nudge them into place.

Keep in mind for the top corners to not block the IDC connectors. Place them on the second to last extrusion from the top.

Place an end cap on the top and bottom of both single slotted extrusions to prevent it from sliding around.
Connect each panel side by side with 12 short 16-pin IDC's, leaving out the first input of each row (it will eventually be connected to the receiver board). Plug them in lining up the red wire of the IDC with the DR1 pin/up arrow on the board.
Each 16x32 panel comes with 2 cables and screws to provide power between them. To prevent voltage drops over long runs, each column will get its own 5V run of power.

Start at the top and run each power & ground wire down to the panel below it, stacking terminal rings as needed. Leave the last row unscrewed as shown in the photo below. Longer cables will be attached to provide power from a power supply.

Sometimes the panels we get use Molex plugs and have wire pigtails. These are more secure but are not as elegant to wire up the power. You can strip and solder the wires together instead.
To provide power to the LED wall, I used a ATX computer power supply. Any 5V power supply that can provide more than 20 amps works too. ATX supplies work great because they're generally cheaper, and have standard & secure connectors.
Cut 3 pairs of 12 gauge red and black wires. The LED's draw a significant amount of power, so keep the cables to a relatively short length- around 5ft is fine. In order to connect power to the LED wall, we'll crimp ring terminals on one end and solder ATX connectors on the other.

We suggest cutting out the yellow wires so you don't accidentally connect to the 12V lines.

Cut a 4 Pin ATX power cable, keeping the larger connector, and strip the red and both black wires. Twist the two black wires together for redundancy.

Twist together the red wire from the connector and the red cable. Heat the twist and apply solder until it is flowing through the entire connection. Fold it over and slide a piece of heat shrink over it. Repeat this for the twisted black pair and use a lighter or hot air gun to shrink the heat shrink over the joint.
Tightly twist one end of each cable and slide a ring terminal onto it. Use a crimper to secure it on to provide a good mechanical and electrical connection.
Screw the ring terminals of the just made cables to the bottom-most power terminals of each column.
Run the power cables along the bottom aluminum extrusion and off to one side, zip tying them together to keep them tidy. Cut off the excess with diagonal cutters.
In order to mount the receiver card, a laser cut plate is needed to align the mounting holes with the extrusions and to keep it from shorting against the aluminum.

You can also craft something by cutting some thin plastic with shears

Use four 4-40 screws and nuts to fasten the receiver card to the laser cut plate.
Once again drop four slim T-nut's (two in each extrusion), line them up with the plate holes, and mount it using M4 screws.
Jumper the 5V power from a nearby panel and screw it into the receiving card's power terminals. Depending on the positioning of the receiver card, you may need to make your own slightly longer power cables so that it'll reach.

Once the receiving card has been mounted, plug the IDC breakout board in to the receiver card. Make sure that it's plugged in oriented as shown above.

Each IDC plug on the receiver card corresponds to a row of panels on the LED wall.

J1 goes to the top row, J2 to the second row, J3 to the third row, etc. Again, make sure the connector is oriented correctly with the red wire on the R1 side and on the top side of the RGB panel as shown.
Stack the IDC ribbons on top of each other and wrap it with velcro.

Place a small piece of adhesive velcro onto the extrusion to keep the ribbon cables as close to the back as possible.
The sender card takes video input and spits it out via ethernet to the receiver card. Sending data over ethernet allows the video source to run long distances to the LED wall.

The older cards we have take 5V and can be powered a number of ways. For our purpose a 5V wall wart works great. Keep in mind the jack requires a 2.5mm plug, not the standard 2.1mm size.

The newer (July 2014+) cards have MOLEX plug for power, the DC jack has been replaced with an audio jack for some reason. You will have to power it from the ITX power supply using the 4-pin molex, plug it right into the sender!
Setup is straight forward- Ethernet gets plugged into the 'U' port, 5V power to the DC jack, and video input to the DVI jack. For more connectivity, a HDMI to DVI adapter can be used. I used this one. You can also get Displayport to DVI (or DS -> HDMI -> DVI) cables easily.

The USB connection is only used for Sender/Receiver configuration (see the LED Studio Software Configuration step), and is not needed for general use after setup is complete.

If you purchased your cards from Adafruit, we pre-program the cards for a 96x96 wall so you should be able to just 'plug it in' and see it work as long as you have video out

I recommend mirroring video of the computer you're using for configuration to simplify things at first.
Plug in the other end of the ethernet cable to the A input of the receiver card.
Lastly, plug in the three runs of LED power cables.

We suggest cutting out the yellow wires so you don't accidentally connect to the 12V lines.
Before turning the power supply on, make sure all power is wired correctly. Seriously! This is 30A of 5V power, so you really really want to make sure its wired correctly.
You may want to connect only one panel row or column at a time to power/data. simply unscrew the power connectors from the first panel to the second, and unplug the data connection cable from first panel to second, etc. This way you can test the setup with a single panel. Once you verify nothing is smoking and there's some video out, you can power down the ATX supply and connect another panel/row/column etc.

Don't do your testing in a rush! Be careful and methodical!

Once everything is powered on, your computer should detect an external display. Adafruit receiver/senders are pre-programmed so you should see some video depending on your monitor configuration. If you can 'mirror' your display that is easiest to debug.

If you have a different setup than this tutorial, don't worry if the LED wall is acting funny or not on at all. This will be fixed in the next step. As long as the green lights are flashing on both the sender and receiver cards then that means that data is being transmitted.
Windows must be used to configure the sender/receivers, Parallels worked fine for one person
In order to configure the LED panels you will need to download the Linsn LED studio software. It's free, however they will ask for a serial number- just enter "888888".
We also suggest our LED wall configuration files
Before opening the software, connect the sender board to the computer via USB. This will let you configure both the sender and receiver board. Now open the software and click Option>>Software Setup
In order to access the configuration screen, type 'linsn' anywhere while the window is active. It doesn't have to be in a text box. Typing those letters in sequence will bring up another password dialog box. The password is "168".
On the sender tab, you can adjust the display resolution, mirror/rotation, as well the start X/Y position of what part of the screen will display on the LED wall. This will update in realtime. Click Save on Sender when you've got it where you want it.
On the receiver tab, load up the Adafruit_96x96.RCG configuration file, and the LED wall will mirror the 96x96 area you specified in the sender tab.

The display connection tab is used for more elaborate setups with multiple receiver cards. In our case we're only using one, displaying 96 x 96 pixels. If things aren't working properly, load up the Adafruit_96x96.CON file.

Don't forget to Save on Receiver when you're done configuring the settings.

Peter wrote in to us after following this tutorial and says...

During testing a 96 x 64 pixel video wall I experienced the following problems especially with your recently delivered LED panels (ID: 420):

  • Several red dots appeared across the screen. This is most striking (and disturbing) while fading scenes.
  • Furthermore, the video is displaced horizontally by one pixel, so the origin of the video on the upper left side must be located at (x, y) = (1, 0) instead of (0, 0).

Luckily, a small configuration change solves all problems. Please consider to modify the receiver card setting in "Adawall_96x96.RCG” as depicted to the left. Note: when setting “Scan clock” to 18.3 the software automatically sets the “Phase of clock” to 3, which seems to be a recommended value.

At this point you should see the top left 96 pixels mirrored on your LED wall! Mess around with the start X and start Y values on the sender configuration and load up some videos and gifs :)

This guide was first published on Jul 18, 2013. It was last updated on Jul 18, 2013.