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!
Step 1: Building the Frame
I went to home depot and found (in the moulding and trim section) some wide lattice that I cut in half to make two 2.75" wide boards. You'll need 9x 32" boards to make the entire thing, so make sure you buy enough of the lattice.
Take your bars and create a basic frame, clamping it together and supporting the middle with an extra board or two. Place larger pieces of wood on the outside of the frame (before the clamps) to distribute the pressure. Make sure the box is square, and glue.
When it's pretty dry, add the remaining 7 bars to create the y (or x) direction of your matrix. Be sure to make them as close to the same size as possible! clamp, and glue. Let this dry for a bit.
Step 2: Finishing the Matrix
tips: have a friend help glue while you put them in. Mark where you're going to put them BEFORE you actually put them in- this'll save a lot of time in the long run.
Step 3: Cutting the Back
When you're done tracing the boxes, trace the outside edge so you know where to cut. Cut it, sand it a bit, and continue onward....
Step 4: Finishing the Back
First, you're going to want to drill all 64 holes in the back of the board. If you plan on tolexing your project, DON'T FORGET TO COUNTERSINK THEM. they should also be bolts, not screws (the bottom should be U shaped not V shaped).
After you've drilled the holes, go ahead and spraypaint this thing, though you only need to do it on the front if you're not tolexing.
When it's dry, lay it face down and put all the nails in, flip it over, and string the leds. They should fit JUST right, but you may need to make some new connecting cables. Be sure to check for those twisted cables!!
Step 5: Aligning the Matrix
Paint this next, align, and glue, being sure to use adequate pressure (bags of concrete helped with this... had to reglue a few times though :P)
At this time, you should also drill the output/input holes. If you plan on adding more units later, soulder a long cable from the bottom of the strip to the top so the input and output can be next to eachother.
Step 6: Final steps!!!
When you're done with that, attach the metal wings drilling holes to take the plexiglass in to account. I embedded bolts into one side of the box so I could remove the plexiglass for servicing.
When you have everything done, peel off that brown protective covering and enjoy!!
Step 7: WHAT ABOUT CODE?
If there are any master coders out there that want to help, I'd be greatly appreciative!!!
Update (4/22/12):
I'm now using adafruit's Adavision code and it's working pretty well.
I've been working all weekend on this stupid thing, only to figure out that my pixels are GRB, not RGB (meaning the colors are switched. I'm trying to figure out how to fix this at the most fundamental level possible. If anyone has any suggestions, I'd appreciate it greatly!
















































Visit Our Store »
Go Pro Today »




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.
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
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.
this code is literally MADE for your pixels! Just make sure you have the ws2801 chip, and all will be great.
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.
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.