Make a Massive 4096 LED Display for Retro Pixel Art





Introduction: Make a Massive 4096 LED Display for Retro Pixel Art

123D Circuits Contest

Finalist in the
123D Circuits Contest

***** Updated March 2016 ******

There are a couple ways you can go on this project, build everything from scratch or leverage a kit version. I'll cover both methods in this Instructable. This Instructable covers a 64x64 or 4096 LED installation but the PIXEL LED controller board also supports 32x16, 32x32, and 64x32 installations. See here for a list of supported LED panels.

Step 1: Getting the Materials


  • 4 sets of 32x32 RGB LED Matrix panels (Dimensions 7.5" x 7.5") or 2 64x32's, supported panels here
  • PIXEL Maker's Kit (a custom IOIO board designed to control HUB75 LED matrix panels)
  • Free Apps for Android, PC, Mac, and Raspberry Pi with included pixel art content, free apps here
  • 5V power, rated at 20A minimum, an old PC ATX power supply is one option
  • 3 16.5" x 16.5" acrylic sheets (I got mine from my local Tap Plastics shop)
  • 4 5/8" hex stand-offs with 2 screws for each end
  • 32 4-40 5/16" panhead screws
  • More info about this project at

The panels used in this project are originally meant for large-scale building and scoreboard LED displays. You'll find several kinds out there from Adafruit, Sparkfun, Ali Express, etc. Unfortunately while they make look the same, there does not seem to be any standard for LED matrix panels and each manufacturer can use a different chipset causing them to behave differently. So be sure and only use the verified and tested LED panels listed here.

A special thanks to Ytai Ben-Tsvi, creator of the IOIO board, for all his invaluable help on this project.

Step 2: Mounting the LED Matrix Panels

You'll find mounting holes on the back of the LED panels. Unfortunately each manufacturer's mounting holes will be different so you'll need to make your own template. The holes in the mounting template will probably be 1/8" but I'd recommend drill a couple sizes bigger to leave yourself some margin for error. The pan head screws you will use will still cover up the larger hole so it won't be noticeable.

Once you've got the LED panels mounted to the back piece of acrylic. Then add the hex stand-offs and attach the front panel acrylic pieces. It's up to you what color you go with on the front acrylic panels. I used a frosted white acrylic front panel on the bottom and a translucent black front panel on the topic, this gives the LEDs enough diffusion while hiding the LEDs when the display is off.

Step 3: Connecting the LED Panels

Instructions here on how to wire up the LED panels with the IDC ribbon cables.

To power the panels, you'll need to make your own custom cable. The LED panels take 5V and you'll want a power supply rated at 4A per panel so that's 16A in total so get a 20A to be on the safe side.

Step 4: Get Some Cool Pixel Art

The apps for this project are free and come included with some fantastic pixel art that was commissioned just for this project that you see here. You can find some really nice pixel art in 64x64 resolution on sites like and to name a few. Tumblr has some great pixel art too. Of course, you can also make your own art. Still images should be in .png format and animations in animated .gif format. There are a few nuances to working with the LEDs, the main one being low contrast colors don't look good on the LEDs as the brightness of the LEDs tends to wash everything out. Here's a content guide with some tips for creating art for the LEDs.

Step 5: Get the Apps

Apps are available for this project for Android, PC, Mac, and Raspberry Pi. You can find the apps for this project at

The best app experience is Android which offers the most functionality. There are three main Android apps, one for pixel art designs (you can add your own too), one for scrolling text (including phone text messages), and a pixel art editor to create your own designs.

Update: March 2016, an iOS app is in the works.

PIXEL has two modes: interactive and stand alone. In interactive mode, the Android, PC, Mac, or Raspberry Pi is driving PIXEL what to display based on the application's logic. In stand alone mode, an animation or still image is written to PIXEL's onboard SD card and then the animation will loop with no connected device required. Long tap from the Android app to write an animation or still image to the local SD card.

Android users can connect to the IOIO board which controls PIXEL over Bluetooth or USB. PC users can connect via Bluetooth or USB. Mac and Raspberry Pi users can connect via USB.

Raspberry Pi apps here.

Also note that in the software you can change the physical configuration of the LED panels. For example in this Instructable, I have them in a 2x2 square. But you can also have them 1x4 vertical or 4x1 horizontal. 1x2 vertical (2 panels) or 2x1 (horizontal) is also possible.

You'll find the source code for all the apps on github here (not the main branch, use the board_v2.5 branch).



    • Paper Contest 2018

      Paper Contest 2018
    • Pocket-Sized Contest

      Pocket-Sized Contest
    • Science of Cooking

      Science of Cooking

    We have a be nice policy.
    Please be positive and constructive.




    Hi can i make this with led strips or led dip?

    of course you could but my particular Android app here will only work with the pixel board that supports only hub75 based LED panels, strips aren't supported, sorry

    Thanks for reply. Ok, in terms of the application, I'm going to make the code by hand; I commented because I want to do the panel on my own. With dip led I only found tutorials for 16x16 with 4 max7219, my question is if I can put 72x16 (matrix 9x2 of max7219) We thank you in advance for your advice

    Sorry, I have no experience with DIP LED displays. I did Google around though and it seems that there are some DIP LED displays which are HUB75 based. HUB75 is the standard I've used with the panels in this Instructable. So in theory you could try using the PIXEL board with them but it would be unknown waters with no guarantee things will work as even with HUB75, I found the pixel ordering to be different across different HUB75 LED panel manufacturers. Hence why we published the specifics panels the PIXEL project is known to work with Is there a reason you want to use DIP LED displays vs. SMD LED displays? Of course you can do your own code but from experience, that's a lot of work, unless you really want to spend a lot of time interfacing with hardware and coding, I'd recommend going with something already known like the PIXEL project or switch to WS28XX based LED strips where there are known libraries already developed.

    Cost you know, here in Argentina they are expensive. Maybe I can consider cutting rgb led strips and assembling the panels on my own. In itself, my idea was to do it from 0 and not use modules, that's why I consulted you, forgive my ignorance and thank you for your response. I will continue investigating. Best Regards

    ah I got it, that make sense and all good questions, no worries at all. I think using modules will be cheaper than LED strips and also much easier to install (assuming you don't need an irregular shape that could be achieve with strips). You'll find that the SMD LED modules will be about 50% cheaper if you buy direct from China (AliExpress) or eBay (example here vs. a place like Adafruit for example. Adafruit will have much better support if something goes wrong and you can return however. Let me know what DIP LED modules you are considering and I can't commit but I will look into ordering one as I'm curious if it will work with the PIXEL board. Also check out the middle of this page , this has some modules we got from China, you can check prices there.

    How is the IOIO board mounted to the acrylic panels? Also how do I make the custom cable needed to power the Pixel Boards?

    Hi, this page will walk you through it. You can do with an IOIO board but much much easier with a PIXEL board

    Am I able to split the connection to the panels 4 different ways in order to duplicate the panels to 4, 64x64, assuming I power the panels seperately?

    ah ok, let me test it , we added support for it but actually never tried it so not sure it works, will let you know.