Are you looking to add a lot of color to your project? These massive 32x32 RGB LED panels are an awesome place to start. You can create animations, games, or all sorts of other fun displays with them. Yes, you read that right: a 32x32 LED matrix, that's 1024 LEDs on a 7.5" x 7.5" board. On top of all that, thanks to two IDC connectors, and a seamless frame, these panels can be daisy chained together to form even bigger LED displays.
These panels require a regulated 3.3-5V supply for power which needs to be able to source a good amount of current – up to 2A in the worst case. Included with each panel is a 0.15" pitch 4-pin polarized connector power cable which is terminated with both a female polarized connector, and a pair of spade terminals. Needless to say, if you are looking for a large, cheap, and easy to use RGB LED matrix you've come to the right place.
Note: These displays were intended for use with FPGAs and high-speed processors. We've found that 16MHz is about the slowest processor that can drive these adequately. If you want to daisy-chain them together, you will need more speed and more RAM.
These are successfully mounted by 3m machine screws. PRT-13227 should work.
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Based on 8 ratings:
2 of 2 found this helpful:
I just finished a long day of assembly putting 35 of these together into a LED wall and they look great! Not too bright, not too dim. I am using them with the controller they sell over at Adafruit and if you load in the LED cube setup file, these work without a hitch, getting pixels right from your DVI cable.
2 of 2 found this helpful:
Once wiring up a shield to work with the Arduino Mega, it didn't take long to modify the scrolltext_16x32 example code to work with the 32x32. I was a little worried because there was some odd flashing (blinking) going on. But, then after turning double buffering on the flashing went away. The text was changed to say "Happy New Year!!" and setTextSize(4) was used to have full almost 32 LED height lettering. The screen was going rather slowly, but by changing the loop to only show one of the bouncing balls, the speed became acceptable. Now, the brightness was at 255 (100%), so changing the brightness down to 128 (50%) calmed down the letters.
So, now I have a great "Happy New Year!!" display with a single bouncing ball showing in my office cubicle now :) Several people have already commented on how cool it was.
Unusual mystery: The display has a power connector, but oddly the display started running without the power plugged in. The display was working just from the data signal cable being connected. This is very unusual since there is no direct power signal going to the display control connector. Somehow, the display is using parasitic power from the control cable. The display is not at full brightness, but it looks ok for my purpose at the moment. This is probably not healthy for the Arduinino which is driving the power through one or more of the control lines. I won't push my luck and keep it running this way, but the Arduino and display worked overnight without power being applied directly to the display.
Pros: Fairly easy to setup and use for simple hard coded scrolling text display example. The Arduino Libraries get you started with little effort. Cons: The Arduino is pushed to its limits doing animation using the provided libraries. It would be better to use a hardware assisted solution for any major animation. This is partly due to the Arduino, but also because how the display needs data pumped into it. Perhaps one of the faster Arm boards would handle this better.
Only 4 of 5 stars given because a significant amount of cpu power is needed for a software only solution to driving it. The more animation needed, the more likely you will need to use a hardware (FPGA) solution to driving the display. Otherwise, the display is great.
I am now considering using several of these displays for a display wall. Arduinos will have to be abandoned for this though.
Here are the modifications made to scrolltext_16x32 example program to make it say "Happy New Year!!" in big smooth scrolling letters.
1) To use the Arduino Mega 2560, change CLK, LAT and D to use pin 11, 10 and A3 respectively... #define CLK 11 #define LAT 10 #define D A3
2) For Large Text, a) Add #define TextFactor 4 b) Change the line with textMin to: textMin = - ( sizeof(str) * TextFactor * 6), c) Change the line with setTextSize to... matrix.setTextSize(TextFactor);
3) To setup for 32x32 and double buffering (which removes the flicker), Modify the RGBmatrixPanel constructor's statement to ... RGBmatrixPanel matrix(A, B, C, D, CLK, LAT, OE, true);
4) To reduce to a single bouncing ball. This can be done many ways, I simply changed the 'for' statement to this... for(i=2; i<3; i++) {
5) To say "Happy New Year!!"... const char str[] PROGMEM = "Happy New Year!!";
6) To reduce the brightness, reduce the value of the 3rd parameter to ColorHSV... matrix.setTextColor(matrix.ColorHSV(hue, 255, 128u, true));
1 of 1 found this helpful:
The sample sketches are great. The board takes only a few minutes to set up an works like a charm! The pins might be a bit confusing, I'd recommend the set up guide on the adafruit website.
1 of 1 found this helpful:
Very nice matrix. It is working with an Arduino Uno very well. It is slow due to the clock speed of the arduino but it was expected. The challenge is to enable the board with an FPGA and also the Intel Edison/raspberry.
The panel claims to consists of a 32x32 matrix of rgb LEDs. Mine arrived wth exactly 32 rows and precisely 32 columns, so clearly someone there is keeping a close eye on things. In today's dynamic economy, it's nice to get exactly what you paid for. This product was nice in that way.
0 of 1 found this helpful:
Many thanks for all your help and support. We received the parcel only three days after ordering the items. All Great really what else can I say!...
The panel looked amazing when I first hooked it up for a uni project and I worked everything out it was all working fine then I went to test again it failed. No light nothing. I then was glad I bought a second one as a spare but that didn't work at all so a very expensive piece of equipment to fail. Worst of all my project is due in 1.5 weeks and I no longer have a panel to show. I have emailed in but have got no response I would like both to be replaced immediately so I can show my project.
With your unit working originally, then stopping, and your second unit also not working, it would appear that there may be an issue locally that is causing failure or is incorrectly setup. Our support team will be able to assist you. In the event it is determined these are defective, they can help you with a replacement.
easy to use thanks to the published library. Very sturdy build, excellent quality.
My math says if you want a 232" 480p screen with these it's going to cost a little over 16 grand. Probably worth every penny.
Be sure to ask about our volume discount! :)
Yea, how many of these is that?
480p? Lets be serious here: to make a 4K display (4096x2160), we'll need 8704 of these. Both this, and the 16x32 panel say a 2A supply is needed for the worst case (all pixels white), so I'll assume this one requires 4A. This means the cost of this 80'x42'6" display would be over $300,000. To power every display outputting white light for one hour, 87044A5V*1h=174.08kWh. If the cost of electricity is $0.10/kWh, this works out to $17.41. If it's powered continuously for 1 year, the electricity will cost over $150,000.
I saw a super-huge LED array at the KFC Yum center in Louiseville KY and I have to say - the picture clarity and brightness was mindblowing. I went all around to the back of the stage to check this thing out and you could clearly see it was made up of a number of panels attached together.
You gotta admit that would make for a bad-ass jumbotron though.
How about 720p (this is the 2010's; HD is much cooler):
A major LED panel/display seller is Daktronics. There are no prices on their website, but I do wonder if those are more or less expensive than this. This probably wouldn't fair well in bad weather though.
You'll need a lot of processing power for that, but I'll come watch a show on it!
I see a few comments about the Teensy 3 with this panel, indeed it is a great choice to run smooth animations at 24bit. However the Adafruit library proposed is only for AVR processor. I described a project with this panel and posted a working code for the Teensy 3 that may be useful for some. http://petitstudio.blogspot.jp/
Will 1 Arduino Mega 2560 R3 be able to power the logic for 2 of these panels?
SQUEEEE!!!
Has anyone tried this on a Arduino Due?
Got it a few days ago, and figured out the wiring. Very straightforward to use, but it requires the controller to constantly send bits: 192 bits per line pair (sent 6 at a time during 32 clock cycles), 16 line pairs per screen... so each full screen refresh requires 512 clock ticks. You need to refresh it at minimum 50 times per second, otherwise people will start to see a vertically scrolling line instead of a full picture, so that's 25600 clock ticks, minimum for a full persistent picture... and that's assuming you're okay with only 8 colors: Black, White, Red, Yellow, Green, Cyan, Blue, Magenta. If you want to have more colors, you will need to drive it an order of magnitude faster to incorporate modulation. So that's why it says 16MHz is about the slowest that can drive these.
Does anyone know if there is any problem with shipping these to the UK due to the lack of RoHS? Was really hoping to get some of these for a project and they're the cheapest I can find but just noticed it doesn't have the little RoHS tag at the top like other products and not too sure what that means for getting it over to me.
I think RoHS is an optional but suggested guideline for manufacturers in the EU- I've at least never had a shipment blocked at import to the UK because of no RoHS
These can mount well to 15x15mm extrusions like OpenBeam, meaning these panels have a slightly smaller bezel than the 16x32 that are described to work with 20mm extrusions in the adafruit led wall guide. Thought that might be useful for some folks, also they are M3 threaded, which also works well with open beam if you use a hex cap head screw.
How long do think it will take for these to be restocked?
How do you think a teensy 3.1 would handle this? How about 4 of them? I see a potential for some special christmas decorations for next year.
The Teensy is very fast (and even has DMA if you're ambitious), so I would expect it to be ideal for these.
I think that the best library for using it with the Teensy is the SmartMatrix. I've just tried and it works great. Take a look a it: http://docs.pixelmatix.com/SmartMatrix/
There's a really good library for that: http://www.adafruit.com/blog/2013/02/25/octows2811-led-library-for-teensy-3-0/
Can anyone weigh in on how much one of these panels weighs?
Has anyone else noticed their CLK pin being very sensitive? I might have fried something when I pulled the data plug with everything still on and running....
1) Horizontal rows twitch out of place every now and again. The effect ranges in severity and responds strongly to any wiggling of the wires, especially the CLK wire.
2) Even worse, the same code that produced individual colors on each pixel is now "double-wide" - as in if I choose one single pixel to light, it will light two horizontally. I have replaced every part of the system and nothing changes. Microcontroller has no effect, wires had no effect, 32x32 panel had no effect, all of my different codes that used to work now show double-wide images. This problem seems to have started about the same time I wired four of these boards in series, so I have to suspect that's part of the problem, but now each one individually prints double-wide, with half of it off-screen.... No idea what could be the matter...
So, I either burnt something on all 5 of my 32x32's, on both my microcontrollers, or I changed my 7 previous versions of the code identically to cause this problem...
Anyone know what the data pin logic levels are? Can I connect the data lines of this panel directly to an Arduino Due, or do I need a level shifter?
Using 3.3V logic with the panel at 5V usually works, but not always. Using no level shifting won't hurt anything, but to work reliably level shifting is required. Unfortunately level shifting does nothing to solve the ghosting problem; that one continues to haunt me.
Can you share some details on when it didn't work at 3.3V? What was your microcontroller and what was the wiring like? (long wires?) What stopped working?
By ghosting, do you mean faint lights in pixels that shouldn't be lit? These show up in the same columns as other lit pixels, and I think are a side-effect of the panel multiplexing the LEDs, and probably not something that can be fixed.
I'm driving these panels with a Teensy 3.1 at 3.3V, and have had no issues.
To GhOON
RoHS - one of the transient implementation . If your project is private - you can use non-RoHs componrents as these on offer/sale within UK . IF the project is for manufacture - start with RoHs - then cannot be wrong
is there a way to connect thes directly to a computer without a micro? Is there such a thing as an IDC to serial converter cable? Would like to daisychain a few of these but worried about RAM.
Even if you could connect ONE of these to a computer via serial, you'd be very limited in terms of either refresh rate or color depth.
At 115200 baud, if you were driving it at 3-bit color depth (where you only have 7 basic colors, that is, blue, green, cyan, red, violet, yellow and white), you'd get 37.5 Hz refresh rate, which is pretty good, however you don't use the full color capabilities of the matrix; but try to use even 12-bit color depth and the refresh rate will drop dramatically to ~9.4 Hz, which sucks, because the display would flicker too badly.
Try to do something similar to what's suggested on the tutorial recommended above, you'll actually need a micro (specifically a Teensy 3.1) but as far as I know it's the only way to hook one up to a computer.
Are there any technical documents about the dimensions and especially about the hole distances?
Nothing official, but I built an aluminum panel to hold six of these using Front Panel Express and their free design software. Check out the mechanical directory in my github repository for the .fpd files. Complete project description on my blog.
How bright are these?
Does someone know the exact name/vendor of the power connector?
Take a look at the comments for the 16x32 display, there's two sources listed there. Search for "TE Connectivity" to pull the comment thread up.
Thanks. I'm actually searching for the connectors on the cable to build my own cables, but the posts you referred to are very helpful.
Does anyone know if there is an impulse diagram ( http://upload.wikimedia.org/wikipedia/commons/8/85/JK_FF_impulse_diagram.png) available for those modules? This would make developing the code for a FPGA a lot easier.
So, did you ever find the impulse diagram? I am on the same page as you, a library is cute and all, but I don't really want to spend hours reverse engineering how that code works.
Hi I want to use it with GHI Fez Raptor and Mikro FrameWork using C# , can anybody help me please , thanks
I wrote a program for the teensy3.1 but the adafruit rgbpanel library wont properly compile does anybody know why this is?
This took me a while (several hours) and I completely missed the basics adafruit is for AVR not ARM Processors :( so the timer code is not compatible more information below. http://forums.adafruit.com/viewtopic.php?f=47&t=48018
I'm driving one of these panels with a BeagleBone Black and a LogiBone FPGA (Xilinx Spartan 6 LX9) board. I could take it to 6 to 8 panels pretty easily.
Received my panels today. Just a couple of comments, (not complaints!). Why two ribbon cables? Only one is needed, even if daisy chaining. The distance between the two power connectors on the power cable is just a little too short to connect two panels using the same cable. It's one of those cases when an extra inch makes all the difference. Other than that not much else to say. They're pretty much as you'd expect and work just like advertised. :D I do have a couple of 16x32 panels from Adafruit and the only real difference that I can see is that the horizontal ribs between each row of LEDs are significantly raised on the panels Adafruit supplied me, where as these from Sparkfun are barely above the face of the LED, (which is actually better for my application).
I’m working on a library for the Teensy 3.1 to drive these panels using DMA. I have an early version that’s able to produce 24-bit color with low CPU usage. I expect to have the library along with an Open Hardware adapter board released in about a month. If you’re buying one of these panels I suggest you pick up a Teensy 3.1 over an AVR-based Arduino to drive them, the Teensy 3.1 is much more capable.
I’m posting on my project here: http://dangerousprototypes.com/forum/viewtopic.php?f=56&t=6125&p=56311
Anybody know which screws will work with these panels. There are 8 screw-holes around the perimeter of the board.
I'm looking at powering one of these with a battery pack. Anyone have any ideas as to how to do this?
Does anybody know how the bitmap header file relates to the colors on the panel? I know that every 96 hex numbers represent a row's values for red, green and blue for each pixel but the numbers aren't intuitive to me.
Glad to find this! I have one of these running a Game of Life on my desk right now. Didn't know Sparkfun were selling them now. And at such good prices. I'll be buying more just as soon as they're in so I can expand my display!
Just checking in, the sidebar said more were expected Jan 15th, now says 29th. Any info about the nature of the delay? Just wondering what my chances are for getting some by early feb . . .
It takes ages to get things from China. And for an order of 500, they are no doubt trying to gather all of the pieces. Its been in my experience that when you buy from china say through alibaba, most of the sellers don't have enough stock on hand for a large order.
I had no problems - but then I WAS on Hainan , did have Chinese friend - and he used his chinese credit card , which I repaid on . Took five days Part of problem - the chinese ARE learning english , has to be shipped by container and ""yours"" is a small item . Also the Chinese as all of Far East - absolutly loathe loosing face . YOU have to work around tha
Now says Feb 12th. :( Maybe March?
They're back in, and before the 12th! Woo hoo!! :D
Aaaaaand now they're out...
I want to control this with a teensy3.1 but it runs on 3V and the panel is running on 5V for me. Would this affect the analog pins on the teensy and how can I solve this?
To be safe - construct interface - 3v output to 5 v system - transistor amplifier - a CMOS chip will switch , whilst output from 5v to 3v - resistor network , voltage divider . Get it working even if badly and slowly - then adjust
It works fine. Here I've got an example running at 5 bits of color. http://www.penguintech.info/2014/teensy-3-1-16x32-rgb-led-panel/
It's best to inspect these before applying power. One of mine's power connector has three pins ground and one pin Vcc. Some of the other hand-soldered connectors don't look too good either. Yet it has the "QC Passed" sticker right on it. :-|
This might be a little too involved for just a simple answer, but would anyone have any idea about how these LEDs might be able to be interacted with 'directly'? Is there a straightforward way to align buttons over these, for functionality like a Monome? Or maybe lay a touchscreen over it and code the input to interact with the panel?
Maybe more of a request to brainstorm than a question. But any ideas would be appreciated.
Q: why doesn't S.F. come up with an Arduino shield adaptor board so you don't have to play with all the jumper wires? means your less likely to have one of the jumper wire coming loose.
Here's a backpack kit for a 16x32 panel which is basically just an ATmega328 and can be programmed using the Arduino IDE:
http://www.adafruit.com/products/1072
It's probably because arduino's aren't ideal to drive these 16 MHz is barely fast enough to drive one. If you want to use arduino I would suggest the teensy 3.1 it has 72 MHz.
I bet an 84 MHz Arduino DUE would run them just fine.
Yeah that would work too
is this an item you will stock again once these 35 units are sold or this is a one time thing?
We hope to keep stocking them, although we are sometimes blindsided by supply issues beyond our control. We generally don't offer limited-run items unless it's a misship etc. and we try to be very clear about that in the description.
There's some way to use with the Raspberry Pi/Beaglebone Black/PCDuino?
It works with the Raspberry Pi as well. I got mine working with https://github.com/hzeller/rpi-rgb-led-matrix (there's a pin connection guide in the comments). Thanks Henner Zeller! Oh, and it works fine without level shifting, even when I'm powering the panel with 5V.
beaglebone has been done http://forums.adafruit.com/viewtopic.php?f=47&t=45032&p=225577&hilit=beaglebone#p225577
From the hookup guide it looks like you need a maximum of 13 pins (plus ground) to talk to these panels, so hardware-wise any of the above platforms should be able to handle it. The software would need to be written though. Any takers?
This project is using the Beaglebone Black to drive 8 displays. I believe it is capable of driving even more than that:
http://www.nycresistor.com/2013/09/12/octoscroller/
If I get one, I could write one for the BeagleBone using the PRU. Similar code for the WS2811 exists.
i could write a library for the raspberry pi, although it may take a while... gotta study for my finals.
oh and i also need to buy the thing. thats important too
Favicons are 16x16; you could put the most recent four up. Would have to parse that from the browser and send it up via serial/usb...Hmmmm... how would you do it?
If I were gonna do this, I'd probably start with a Chrome or Firefox extension.
Could be a great way to display bus arrival times, weather and more while sipping coffee and getting ready to put in contacts.
Is there any information as to what those chips are on the back?
Kinda sorta. They're all from some weird Chinese brand (Chipone?). There are 12 16 output current-sink LED drivers -- similar to a TLC5925. Those control matrixed rows of red, green, and blue LEDs. The R0, G0, B0, R1, G1, B1, CLK, OE and STB inputs run into those.
There's also a pair of something like 74HC138 3-8 demuxes, which is what the A, B, C, and D inputs run into. Those select the common anode columns in the matrix.
Found it: http://www.chiponeic.com//templates/T_ProductInfo/index.aspx?nodeid=257
Thanks!