Microchip's 18F2550 is used for its USB support.
RGB leds are driven by 74hc595 shift registers with resistors.
For animation and configuration data; 24C512 external eeprom is used.
Configuration and animation data is created by graphical user interface (gui) at computer and transferred to eeprom via USB
I made my rgb led matrix modules 8x16 pixel size. And they can be attached to make more large display area.
Step 1: Architecture
Animation and configuration data is created at computer by a gui.
then it is uploaded to control board via usb.
Micro controller unit (mcu) transfers this data to storage unit of board (eeprom).
When board is on action,
it first reads the configuration data:
time intervals between frames of animation , length of animation to show, working mode (solo or cascaded)
then it reads a chunk of animation data and send the data to shift registers to update the status of leds.
Common anode rgb leds are used.
leds are arranged 8 rows, 16 columns.
all anodes are connected to each other in a row. Shift registers controls one row at a time.
By multiplexing; 8 rows are updated very fast so continuous image is display.
for 8 rows -----------> one 8bit shift register is used for multiplexing.
for 16 rgb leds columns 16*3=48 --------> six 8bit shift register is used.
At solo mode one module is work as described above.
At cascade mode:
One board is become master board and send synchronization signal to other boards via serial peripheral interface (spi).
all boards display animations stored at their memory. And timing is arranged according to synchronization signal coming from master board.
Step 2: Hardware
74hc595 8bit shift register
B type usb connector
female male connectors
470 ohm resistor for green and blue led cathodes
560 ohm resistor for red led cathodes
switches, buttons, caps
RGB led matrix board:
8x16=128 common anode rgb led
Boards can be energized from USB port of PC or
via power adapter like 'USB power charger adapter' it can be energized from wall power plug