Instructables

PixelLux- A 64 Pixel RGB LED Video Screen

FeaturedContest Winner
Picture of PixelLux- A 64 Pixel RGB LED Video Screen
EDIT: 
Wow, I didn't think this project would be so looked at on instructables! thanks for taking a look :). I have a crappy video that I'll upload, but sadly I was an idiot and burnt out my teensy... so I'll post a video of the whole thing working later! 

Hi Instructables!

The following is a quick tutorial on how to build my PixelLux, an ultrabright, lo-fi, RGB LED video screen. Feel free to leave questions, comments, or suggestions! This is my first instructable, so any feedback is much appreciated.

Let's begin.


What you will need for 1 PixelLux:

things:
Arduino or Arduino based microcontroller (I used a Teensy++, available here)
64 Digitally addressable RGB LEDs 
               I suggest using a wholesaler on Alibaba, I used Schenzhen Rita Lighting LTD (Least expensive, longest wait). 
              Other options include Adafruit (A little more expensive) and Sparkfun (Also more expensive)

12 Volt DC, 10 Amp Power Supply (I got a 15A variable power supply from Fry's. It's AWESOME)
1/8" frosted plexiglass (available at a local glass store or acrylic store, should be a little smaller than the back)
20/22 gauge wire
Protoboard and/or pre-made PCB
32"x32"x1/8" Wood Board (for the back)
18x 32"x2.75"x1/8" Wood (for the inside and outside walls... I cut mine out of some lattice from home depot)
Tolex (to finish the light, I got mine from mojotone)
Aluminium corners (also for finishing- any hardware store has these)
4pin connector (I used a 4pin microphone cable from radioshack... but a USB should work too for smaller installations)
Cabling (the 4 pin mic cable wasn't sold anywhere so I had to make my own)
Project box
USB cable (for programming and microcontroller power)

tools:
Table Saw
Circular Saw
Tile/metal saw
Soldering equipment
Drill (and various bits, metal AND wood)
Nuts&Bolts(1/8" bolts should work)
Wood Glue
Clamps (clamps everywhere)
Spray paint (I used black on the inside to make it look less wooden and more finished)


I have access to a lot of tools, which made this project much easier. If you don't have everything, don't worry... this project CAN be done with a drill, dremmel, hand saw, and clamps. you still need clamps. lots and lots of clamps. SO MANY CLAMPS.


LETS BEGIN!
 
Remove these adsRemove these ads by Signing Up
First off, nice work. Second, and this is pretty basic: Do you know the part number or description for the addressable LEDs you purchased? I'm thinking of building a similar setup.
bpark10001 year ago
Once you get one morticed board made, you can crank out the rest rapidly using that as a pattern.

I looked on your site. I could not find any code on adavision site. With video update data rates, there's gotta be hardware somewhere that's doing all this high-speed data transfer and order rearrangement. In my case, I have 4 parallel chains of LEDs to drive, and the "order tables" for each chain is different. So I have to look up from 4 tables, fetch 4 separate RGB drives, split the bits up, and "quarter turn", re-arrange the bits, and output them "in time". The MotionDrape LEDS use 5 bits per color. The protocol is weird, apparently synchronizing on a clock. There must be dead time between the data changes and the clock on both sides (I have no documentation for the protocol, so I have to go on what the MotionDrape box sends). I am not streaming video. I am "calculating" images, such as scrolling text and logos, and other "eye candy" effects such as sparkling and "wiping". I am interested in your protocol and exactly how the streaming video gets to the LED panel. (How does your "order table" influence the output?) . How is the video digitized and input? I know of no small processor that can handle directly video data rates. What is the clock speed to the LEDs? (MotionDrape uses 1MHz. I am using 300KHz (I am maxing out my 6MHz processor). I am using no hardware other than I/O ports, a UART, and a timer for periodic interrupts. The PC only serves to send commands to the processor, such as: "draw logo #5 with lower left corner at 3,4. Set wipe speed from top, bottom, left, right. Set wipe color. Do wipe..." etc. There is only a 1200 baud link from the PC to the processor.
bcn101011 year ago
Hello,
My name is Anthony and I have lighting company making LED light panels.
but I'm not good in electronic and i want to learn something. like this project you made PixelLux- A 64 Pixel RGB LED Video Screen.
but I don't have any idea about Arduino and RGB led pixel controller , I know to much about LED and RGB led . so please if you can help to start learning step by step how to make it I will be thankful. especialy about how can I controle the pixels or how I can write whatever I want on this board.
I like to send you pictures about what I do .

thank
Anthony
How close are you on getting the code to work with these pixels? And would it be possible to see what you have in the way of code so far?
I'm currently making a project very similar to this one, however I'm using These pixels from adafruit http://www.adafruit.com/products/322 , and I was wondering how much modification this code would need to use them.
ajdi123 (author)  devilsbane01 year ago
Hey! thanks for looking at my project! I suggest you look here: http://ladyada.net/make/adavision/index.html
this code is literally MADE for your pixels! Just make sure you have the ws2801 chip, and all will be great.
bpark10001 year ago
When making the lattice board, I would have morticed the joints where the horizontals and verticals cross. This would have been easy for you to do as you have a table saw.

What does the digital protocol look like? I did something similar, except I bought a Chauvet "MotionDrape" for $500 each (2 x 3 meter black cloth with 16 x 11 RGB LEDS/circuit boards wired together). I bought 4 of them, and stripped 3 to make one with 31 x 21 LEDs. I reverse engineered the protocol, and wrote a program to talk to 4 busses at once. I am still writing code for use at trade shows, to draw letters, scroll, "wipe", draw logos, etc. The protocol on the drape involves a clock and data line for each set of 176 LEDs. If you tell me what the protocol is, I can give you recommendations how to structure the code.

I write my software in assembly, to get speed. I am presently using a 6 MHz 65816 processor, because it can address 64 meg x 8, to allow space for custom logos. With carefully optimized code, I update the drape in 50 milliseconds.
ajdi123 (author)  bpark10001 year ago
Mortising would've helped make it a little cleaner, but, because I made two boards, it would've taken way too much time.

Right now I'm working with a few different types of code... I think I'll end up working off of adafruit's "Adavision" code (seen here: http://ladyada.net/make/adavision/index.html). It's pretty cool, and implementing it with Michu's PixelController would be pretty easy.

I commend you for writing in assembly!! I'd love to see a video or picture of your project, it sounds amazing! I actually looked into buying a MotionDrape... but I didn't because I wanted a more DIY solution.
macnomad842 years ago
post video!!! how quickly addressable are the individual LEDs? what would be the refresh rate of the screen?
ajdi123 (author)  macnomad842 years ago
I'll upload a video tonight! According to the LED data sheet, the refresh rate of the WS2801 chip is 2.5KHz.. The data sheet can be found here: http://www.adafruit.com/datasheets/WS2801.pdf
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!