64x64 LED Array

Array Images Construction

Yes, building an LED array may seem rather pointless, but isn't that often the case with a home brew project?

I wanted to see how an array with a spacing of 10mm (100/meter) looked compared to my previous array which was 16.67mm (60/meter). I also wanted to see if adding a diffuser layer would improve the viewability of the array. It does!

In the above photo the array is not square do to the camera angle. The separation down the center is the result of the pixels not being evenly attached to the board yet.

At the time I was the lead engineer for the native-code Windows UI at Sococo, so I created a modified version of their windows client to display a live bobble head on the panel. The bobble head is displayed at 40% intensity.

It will be a bit flimsy standing it upright until I attach an aluminum frame to the back of the board and attach the diffuser to the front of the board.

Some parts of the array appear to be more fuzzy. This is because without the frame the board is not flat preventing the diffuser from being a uniform distance from the pixels. Also, the protective plastic is still attached to the transparent acrylic spacer and diffuser.

The actual size of the array is 640mm x 640mm. Construction details

Functioning clocks

Live video

Additional test images

The array is made up of sixteen 16x16 flexible panels which uses WS2812B LEDs. The top and right edges of the panels were trimmed to allow the panels to overlap and maintain the 10mm spacing.

Four 2x2 sub-panels were then assembled with each lower panel data input connected to the output of the panel above. Data input leads were then attached to each of the top panels, and power leads were connected to two points on the bottom side of each flexible panel after removing insulation.

All four sub-panels were then assembled into the full sized array. The flexible panels are held together using strips of clear shipping tape on the back side. The fully assembled array was then attached to the board with double-sided cellophane tape. The board is a piece of painted hardboard marker board which was cut to 31-3/4" x 28" which exactly fits in my window.

I don't recommend using these flexible panels to build large arrays because they must be trimmed and since it is difficult to attach the data leads once they are trimmed. Another problem is that the overlap creates a small bump in the height of the array. I think a better choice would be to use 100/meter strips that are only 8mm wide, also available waterproofed. Using the the non-waterproofed strips would also allow for a 2mm gap between row to place small fasteners.

Also see more sample images on this array.

Diffusing the light

The diffuser makes a huge difference in being able to make out what is being displayed. The side effect is that it is also easier to photograph. These types of LEDs seem to really confuse digital cameras.

Array with the diffuser at 20% intensity

Array without the diffuser at 5% intensity.

This is what I used for the diffuser. I chose the darker yet thinner product. The thicker product might be good too. I bought a 1 sq ft sample first so I could see how it looked before spending lots of money on it. ACRYLITE® Optical rear projection Grey 7D513 RP which appears to have been discontinued.

It works best if the diffuser is about 1/10" away from the pixels, so I used a clear sheet of acrylic as a spacer. This also helps to keep the diffuser an even distance from the pixels. An even distance is required otherwise some pixels will look sharper and less defuse, as is visible in the sub-panel test photo. ACRYLITE® extruded (FF), sheet, Colorless 0A000 GT

Testing one of the sub-panels under a small sample diffuser

The acrylic tends to warp from the heat of very bright pixels. That is another reason I used a full clear sheet as a spacer rather than only using a spacer around the edges. Once I attach it around the edges the spacer will not allow it to warp toward the pixels in the center. That is the hope anyway.

Unfortunately, it turned out that excessive heat does build up which causes the acrylic to bow outward making the center pixels appear considerably less sharp. I am considering switching the acrylic spacer layer under the diffuser to polycarbonate which is hopefully much stiffer. Better yet would be to find a diffuser that works well without the need for a spacer.

Power and heat

I powered the pixels with 3.3v instead of 5v. The pixels are way too bright at 5v with the result being that you must dim them in software. This effectively reduces your color space. But operating them at 3.3v makes them naturally a bit dimmer.

These LEDs also draw way too much current at 5v if you have them very bright. At 3.3v it reduces the current to about 1/2 that at 5v. It also reduces the heat. At 5v full white intensity they get hot enough to smell. At 3.3v they only get hot enough to warm your hands.

I used 3.3v / 25amp buck converters mounted on the back of the array to provide power. This allows me to place a 35v power supply many feet away without have to worry about voltage drop. At 3.3v full white intensity it draws about 80 amps. On the 35v side this translates to less than 10amps.

The WS2812B is rated to operate down to 3.5v but the only buck converter options are 3.3v or 3.7v. Since I wanted the brightness/current as low as possible I went with 3.3v and I have not had any problems. Note that at the lower voltage it is even more important to control voltage drop.

Avoid using wire from China for power leads because it is copper clad aluminum which has a higher resistance which will increase voltage drop.

Ray Wu was able to find me the buck converters and he now has them on his website under Electronics.
DC-to-DC buck converter. 3.3v/25 amp

Note: I powered my fence pixels with 35v and 12v buck converters.

Full intensity purple. Too bright for camera.

The components

Currently the components are attached to the board using Scotch mounting tape since I can't put screws through to the front. Long term I will glue something to the back which I can then attach components.

Each output of the ECG-P2-2 controllers drive 512 pixels which is two of the 16x16 flexible panels. Each 3.3v buck converter powers four of the sixteen flexible panels. At the lower left is a TP-LINK 5 port ethernet switch which only cost $10.

Pixel Controllers

I am using the ECG-P2-2 controllers made by Joshua Systems. I selected this controller because each output can address multiple universes and because of it's small size and it is available in an enclosure. I was not able to find any single controller that was capable of managing all 4096 pixels.

Each controller output drives two flexible panels as 4 universes of 128 pixels organized as 16 pixels by 32 alternating rows with the first row starting at the upper right. The software address the full array as four columns of 16x64 pixels in 32 universes.

Final Assembly

In order to keep the array and the diffuser flat and to protect the rear components, I next added an aluminum frame to the back. The frame was constructed using 25mm x 50mm T-Slot framing from 80/20 Inc.

A 9v buck converter has been added to power the Ethernet switch and the fans from the primary 35v power supply. Four terminal blocks were also added to neaten up the wiring

Even though the array only gets warm in open air I was concerned it would over heat when fully enclosed under the acrylic. So I added four 40mm x 10mm Noiseblocker fans along one edge and air intake vents along the opposite edge.

These 12v fans are even quieter when powered with 9v, but unfortunately they did not move enough air so I added a 12v buck converter off of the terminal block in the upper right (after the above photo was taken) to power the fans. That helps but there is still too much heat build up when the brightness is above twenty five percent.

Excessive heat then causes the acrylic to bow outward making the center pixels appear less sharp. I am considering switching the acrylic spacer layer under the diffuser to polycarbonate which is hopefully much stiffer.

On the front side a strip of high impact Polystyrene plastic was added around the edge to raise it to the same height as the pixels.

With diffuser attached (ripples are from the protective plastic still attached to the acrylic)

In normal viewing you can't see through the diffuser, but with the camera strobe you can faintly.


The software is my own and is written in C++ as a Windows console application. Making it a console
application made it easy for a colleague to build and run it on his Mac which he used to operate
pixel strings.

At some point I will make the software binary available for downloading.