How to Create an RGB LED Display for Raspberry Pi

arduinodisplayledmatrixraspberry pi

I'm relatively new to hardware. I have some basic concepts down and I've only done some basic circuitry, but I really want to jump into the deep end – it's how I learn best. I'm not sure how simple this project is, but I like a good challenge.

Essentially I want to build an RGB LED display, perhaps 32 columns of 18 LED's (a total of 576 bulbs). I'm hoping to control the display by sending data through a program I'll create on my Raspberry Pi (512 MB, model B) – in other words, I want to control each LED and not simply feed it a video stream.

I need to be able to control each individual LED and it's brightness. I'm looking at buying the "RL5-RGB-C-2 Clear TriColor" LED's, where each bulb has three inputs for red, green, and blue respectively.

I have found some basic tutorials on creating single colour LED displays, but none that show me how to create an RGB display of this size using the GPIO (or any other bus, for that matter) on the Raspberry Pi, as well as allowing me to control brightness of each LED.

I'm just wondering where I should start or if anybody could point me in the right direction. I'm also open to suggestions regarding the Arduino.

Best Answer

If you really want to controll each of the LEDs then practically you have to use shift registers, as there are 576*3=1728 pins to be controlled and the pis dont have more than 17 GPIO pins.

Lets assume that we leave out the brightness part (but the approach is same, you would need 1728 more PWM outputs to controll the brightness), then the number of shift registers needed will be 1728/8=216. I would reccomend using the 74hc595 ones as they are cheap and has quit many resources.

So the basic idea is to feed in the state of each colour of each led of all leds as either ON or OFF to all the shift registers (since we are not dealing with brightness now, only three bits for each led is enough) and then latch all registers to display the image.