MOD-LED8x8RGB is a stackable 8×8 RGB LED matrix which allows you to make any length LED array display by snapping multiples of them together. Each module is 60 × 60 mm in size.
MOD-LED8x8RGB works with a 5V power supply and has a PIC16F1503 microcontroller on board that takes care of image refresh, thus you can drive large displays even with slow SPI such as from an Arduino. Libraries and examples for Arduino are available.
The back side of the board has large copper pads that ensure a good connection of VCC and GND between modules. It also has pads for installing a mini-ICSP connector should you ever want/need to update the firmware.
Stacked Display Examples The following images show two different ways that you can connect six MOD-LED8x8RGB modules together. First, in a single row:
If you wire the EXT-OUT output of the last module in a row to the EXT-IN input of the first module of a new row, you can create taller displays such as this:
In that image, an Arduino is connected to the top-left display. The top-right display has wires running from it to the bottom-left display.
You're not limited to six displays; that's just what was used for these examples. These displays have notches to ensure firm positioning.
To use the MOD-LED8x8RGB, a 5V Arduino or Arduino clone is recommended. The image to the right shows a connection to the Leonardo-compatible OLIMEXINO-32U4. The connections made are as follows:
The same connections can be made on the Uno/Duemilanove-compatible OLIMEXINO-328. For a standard Arduino Uno or clone that doesn't have the UEXT port, you can source MOSI and CLK lines elsewhere such as on the ICSP header. Make sure you have jumper wires to make the connections (you'll probably need both M-F and M-M wires).
- D13 → EXT-IN.LATCH
- 5V → EXT-IN.VCC
- GND → EXT-IN.GND
- UEXT.MOSI → EXT-IN.DATA
- UEXT.CLK → EXT-IN.SCK
Arduino Libraries and Examples To use the MOD-LED8x8RGB in Arduino, download the led8x8rgb.h and font.h found in the MOD-LED8x8RGB GitHub Repository which also contains example Arduino sketches.
The led8x8rgb.h file has comments that explain the drawing functions. Remember to alter the #define bigX and #define bigY variables to match the number of displays you have in your setup. The default values are for two rows of three displays each, as in the second of the Stacked Display Examples above.
You can use the color variable to set your color from 0 (black) to 7 (white). The variables cX and cY define where on screen to begin printing text; these get updated to a new position automatically after printing.
Keep in mind that MOD-LED8x8RGB is not a simple shift-register matrix. It has a microcontroller inside, so once you shift the info IN and LATCH it, the microcontroller takes care of refreshing the image on the matrix. This way, even with slow SPI you can drive large displays as there is no need to shift new images to the screen continually as you would on a dummy matrix.
View a video of the demo code in action
RGB LED Display Matrix Resources