You'll need the following parts to build this project:
- Raspberry Pi 2 - You can in theory use a less powerful Raspberry Pi like the Raspberry Pi B+ or even the new Raspberry Pi Zero, however this project greatly benefits from the multiple cores of the Pi 2. If you're using a less powerful Pi you'll see more glitching and issues with rendering the display.
- LED Matrix HAT - The Pi LED Matrix HAT makes it easy to connect LED matrices to the Pi. Alternatively you can wire panels directly to GPIO on the Raspberry Pi, see the rpi-rgb-led-matrix library for more information on manually wiring displays.
- RGB LED Matrix Panels - These RGB LED panels come in sizes of 32x32 or 64x32 pixels and can be chained together to build a large display. For the best results with the Raspberry Pi 2 only about 12 panels can be chained together at once. To use more displays you'll need to manually wire displays up to parallel matrix channels, see the rpi-rgb-matrix library for more information. Remember the longer 64x32 pixel panels actually count as two 32x32 pixel panels.
- Note: You want the HUB75 RGB LED matrix panels, not the DotStar or NeoPixel panels! See the column on the right for links to all the appropriate panels.
- 5V Power Supply - These LED panels can take a lot of current, up to 2 amps alone per panel, so make sure to get a power supply that can power all the panels. I recommend at least the 5 volt 10 amp supply for driving 4-5 panels.
- Soldering Tools - You'll need tools to solder a header onto the LED matrix HAT. If you're new to soldering don't worry this is an easy soldering project, see the guide to excellent soldering.
- Optional: 16-pin 0.1" spaced keyed female IDC connectors & 16-wire ribbon cable - If you're chaining multiple displays together and need a longer signal cable you can make one. Check local electronics stores or large distributors like DigiKey, Mouser, etc. for these parts.
If you're chaining together more than one display it will help to take a moment to plan out how the panels will be connected. The software for this project works by dividing the Pi's video output into a rectangular grid and assigning each grid square to a LED matrix panel.
For example a configuration of 32x32 pixel panels might look like the following:
You can see four panels are combined to create a 64x64 pixel display. When the software runs it will take the Pi's video output and shrink it down to fit inside the 64x64 pixel display.
Note as an alternative to shrinking down the display you can instead configure the software to grab a tiny crop of the Pi's output. This is useful if there's only a very tiny portion of the screen you want to display, or if you're writing a program to display on the matrix and want pixel-perfect accuracy. With the configuration above a 64x64 pixel crop from anywhere on the Pi's video output could be displayed on the panels.
Keep in mind these constraints when planning your display:
- All panels must be the same LED/pixel width and height. Remember the wide 64x32 pixel panels are actually two 32x32 panels chained together so they're fine to mix with single 32x32 panels.
- The panels must be put together into a rectangle. You can make a square display, super wide, or even tall display but it must be a rectangular shape.
- Keep the total number of panels to 12 or less. On a single chain a Pi 2 can only drive about 12 panels. It is possible to drive more panels on parallel chains, but you'll need to consult the rpi-rgb-led-matrix library and manually wire those chains.
- Match the aspect ratio of your display to the aspect ratio of the Pi's video output as close as possible. If you're displaying a program with a wide 16:9 aspect ratio (like a 1280x720 resolution) you will want to construct a similarly wide display of LED panels. This will reduce distortion from shrinking the Pi display down to the panels.
You'll also want to plan out how the display panels are wired. Each panel has an input and output connector. By connecting the output of one panel to the input of another panel you can construct a long chain of panels with minimal wiring. For the configuration above one wiring might look like:
The output of the Raspberry Pi is connected to the bottom left panel, then snakes around through all the panels and ends in the top left. The very first panel connected to the Pi is order/position 0 in the chain, the next panel is order/position 1, and so forth to the end of the chain. Keep in mind these chain order values as they'll be used later in the software configuration.
To assemble the parts for this project just follow the RGB LED matrix HAT guide. The guide will walk you through how to solder the header on the HAT and connect it to the Raspberry Pi and LED matrix panels. Be sure to follow the driving matrices page to test each panel to confirm they're working before you move on.