# 20x20 RGB LED Matrix controller project

I've been wanting to start a project with the following requirements:

• Be able to display a static image, composed of 19x19 RGB pixels (though I expect to have to use a 20x20 matrix).
• Be small (in the region of 3-20cm along one side)
• Ideally include wifi support to read data from a simple web service.

However I don't really know where to begin. For a start I don't know where to source a 20X20 matrix (discrete LED matrix is fine), or if it would be better to use 4x 10x10 matrices and controllers (then I'm not sure how these could be used together.

I've been tentatively looking at Arduino, but also rasberry PI.

Could someone point me in a sensible direction as far as Platform, Matrix controller, or Matrix are converned? Thanks!

-
 Your question title mentions LED and RGB, but your question text does not. Did you check OLED displays? – Wouter van Ooijen Oct 17 '12 at 17:25 Sorry, edited. Didn't know OLED components like this were available. I'll do some googling. – UpTheCreek Oct 17 '12 at 17:31 How big is "small", and how cheap is "relatively cheap"? ;-) For example do you want a matrix of discrete LEDs or a "proper" display of some sort (e.g. STN, TFT, OLED) like Wouter mentions? – Oli Glaser Oct 17 '12 at 18:00 Yes, meant a matrix of discrete LEDs, although am open to ideas. Size wise I had in mind anything from 3cm to 20cm along one side (although realistically expecting towards the second figure). Price wise I don't really know what to expect! I'll add this to the question. – UpTheCreek Oct 17 '12 at 19:16 You probably aren't getting the answers you want because your question is contratictory and all over the place. It seems you are asking about a display, but then you mention WiFi. The title says 20x20, but the text mentions 19x19 pixels. Why does it have to be LEDs? Why not a off the shelf color display? 400 discrete RGB LEDs is going to be expensive. You also say "relatively cheap", but that is of course completely meaningless without any real numbers. Explain what you really want to accomplish, not how you think it should be accomplished. – Olin Lathrop Oct 22 '12 at 13:06

There are really many shields that you could be looking at for the arduino (which I recommend you use) some are more expensive than others, but some are moderately priced (depending on your price range), such as:

Wifi connectivity in itself is a whole other deal. Wifi shields can be quite expensive, such as this one, or this one.

Effectively, putting it together once you have the parts is simple, but the whole operation relies on the flexibility of your budget.

It might not be necessary to use a wifi shield however, as there are many other options for networking between an arduino or 2 such as xBees, etc., but they might present other greater costs as well.

Cheers, and good luck.

*I know you have stated that the size of the led matrix is important to keep small but if you think you can manage it you can buy many small led's and multiplex them together to make a small array which you will be able to control via arduino I/O.

-
Thanks for the feedback - I'm starting to think that arduino is probably the way to go, rather than some kind of SoC based platform like the RasberryPi. – UpTheCreek Oct 24 '12 at 11:37
As an alternative to Wifi, I might consider having the data sent over USB from a computer. Do you know if this is straightforward with Arduino? (I suppose it would require a separate shield?) Perhaps the whole thing could use USB for power in that case? – UpTheCreek Oct 24 '12 at 11:42
Yes, for sure! You could plug the arduino into the computer with USB, which would provide power, and then send serial data to and from the arduino. Check this out as well. – Gyonka Oct 24 '12 at 20:47
That's a great tutorial - thanks a lot. – UpTheCreek Oct 25 '12 at 9:16

Well, I would be tempted to use 4 of this small matrix for a 16x16 (around 12cmX12cm) or 9 for a 24X24(around 18cmX18cm) matrix, they are controlled using SPI, so an arduino would be able to control them and use the arduino wifi shield for you wifi need. It might not be the cheapest solution but its probably one of the easiest and fastest you can find

-
 That looks interesting - thank you. – UpTheCreek Oct 23 '12 at 9:39 mmm thatd be pricey indeed. I would make a custom module and wire those RGB leds in a 20x20 matrix. It'd be a bit time consuming, but it'd be significantly cheaper than those modules. Work out a power supply to drive all those LEDs and a Rasbperry Pi w/ USB wifi for the control and connected to the GPIO pins will be a circuit board (or breadboard) with a bunch of multiplexers to send the signals to the appropriate LEDs. Not that easy, not that fast, but probably ~50% cheaper than an off the shelf RGB LED solution. – mchoi Oct 24 '12 at 21:09

RGB LED matrix displays are very expensive because of the totally different chemical processes combined for each color on a chip and get consistency is expensive. 50 cents per color pixel was the market price for 8x8 RGB matrix chips and suppliers like D-K don't stock them because of low demand. I doubt you will find a cheaper LED solution than Kvegaoro's Sparkfun SPI Matrix which can be daisy chained but limited to a 125KHz clock. Interfacing to a real-time data won't be trivial in software to address each pixel color in a larger matrix of 3x3 of these displays not to mention cost prohibitive. 24x24xRGB(3) = 9 x $59.95 You really need to rethink your requirements for cost vs size for a primitive display assuming this is a low volume design. What is more important size or cost? You need to go with market availability and switch to lower cost technology like LCD. If both are critical then compromise on RGB and go with monochrome. Consider these specs and buy hereLCD$75 132x32 graphic display mono, serial interface

-
 I see, very informative thanks. The project wouldn't be worthwhile without color, but I can see now that the LED matrix approach is not going to be very cost effective. – UpTheCreek Oct 23 '12 at 18:11 You might want to consider the electronic viewer in a camcorder for even better resolution color and availability of surplus. – Tony Stewart Oct 23 '12 at 18:25

For the Matrix, Freetronics, although their display is 32x16, not 20x20. You can stack them, though, giving you 32x32, or 64x64. They also include a shield to connect directly to an Arduino, and they have source code and a library for Arduino to do it.

If the price for these modules is too high, you could go directly to their suppliers in China

-