Sitting at camp this year, a friend of mine and I were discussing how magical the playa was at night. How all the lights just seemed to float in air. My buddy then lamented about how so few of the lights did more than a kind of flashy demo mode. He said he wanted to see more animation, more forms. He wanted to see MegaMan running across the playa...

And thus an idea was born! An idea that's already started to take significant hold of my mind and my wallet!

The plan:Build a bike-towable, ~3ft x 3ft, 32 x 32 pixel, 2 million color display. Power it by deep cycle batteries. Control it via microcontrollers. Make MegaMan or any other sprite we want run across the playa timed to the actual speed of the trailer.

I'm documenting the process on our blog, http://blitterbike.tumblr.com, so if you want to keep up with the project check it out. I've already got a few videos up of tests I've been doing with the RGB LED strip I've selected and an Arduino. It's already starting to look really good!

I figured I'd start this thread here to both share the project and any knowledge I acquire in the process. If you have any questions feel free to hit me up. I'm sure I'll have some questions for my fellow LED-heads here!

Oh - and at the end of the day the idea is to open source any and all software I write for this thing. Eventually I'd love to see these things all over the playa!

No kickstarter yet. Our project manager type person is looking into it, but for now I don't want the responsibility of taking other people's money. I've been kind of burned by kickstarter in the past (not the site, but projects that were supposed to take 3 months and are still "in progress" more than a year later).

It looks like materials for this thing are going to cost under $2k, and that spread out over the year, between 4 people isn't particularly burdensome.

Now... if we end up wanting to make a fleet of these things, then I think we'll start looking for funding!

Although, I still say ditch the strips and just use common anode RGB LEDs.. build your own huge PCB or piece together large pieces of copper clad board. You could get way better coverage/amount of LEDs at a much lower price. $0.15/each instead of the high price for those strips..

Honored to have helped in any way in giving that amazing mind of yours the LED bug!

bob - persistence-of-vision stuff is always so bad ass! I hadn't seen that staff before, thanks! That being said, that's not quite what we're going for with this project. We really wanted a consistent 32 x 32 pixel array so that the effect is consistent and doesn't actually require movement. Plus, our stated "goal" with the project is hopefully one of many different things we will do with it. Really, we want a platform for doing all sorts of interesting low-res stuff.

junglesmacks - I've started to look down that path, but as soon as I start taking into account what those strips provide, 3x SPI addressable PWMs per-LED cluster, it starts to look like a very difficult and actually more costly path. I haven't found any place that sells chips similar to those in the strips and the only other solution would be to go with a PIC or AVR solution and those would be, by themselves, more than $1 each (which about what it costs per-light for the RGB LED strips).

Man, after wrapping my brain around LEDs and basic sequencing.. the world of RGB LEDs is like going from 2 dimensions to 4 dimensions. I dunno if I even want to go there lest my free time go from nill to a negative number!

Thanks snow! My goal is to never lose forward momentum. Today I started to try to tackle the power issue. This whole process is well, a learning process since up until now now all of my work with electronics has been pretty basic AA powered stuff where you often don't really have to understand that much to get something basic working.

Figuring how how to get a 12v deep cycle battery to power this whole mess is looking like it'll be possible with a bunch of voltage regulators and few custom circuit boards (very glad I have a CNC machine!)

Aww, thanks! Once our project manager gets up to speed (he's changing jobs right now... coming to work for me!) he's going to let us know what's going to be the best way to handle funding and/or donating. I just want to be really careful taking other people's money. As long as numbers don't start off with a "$" I'm very comfortable working with them, otherwise I tend to leave it to professionals or at least people who know more than me!

(I'll happily admit that my wife setup the family finances so that I get an allowance and generally it's only that amount that I keep track of regularly. I usually have no clue about the money market accounts, saving accounts, CDs, IRAs, 401Ks, etc. And I REALLY like it that way!)

waxpraxis wrote:Oh - it's absolutely possible , but the problem is cost. Both the AVR and PIC chips I've looked into cost more than $0.85 each, which put the total cost-per-RGB LED higher than the strips.

If you, or anyone else, runs into a chip that runs at 5v, is in the $0.20-$0.50 cent range, that has 3 PWMs, and is SPI addressable, PLEASE let me know!

You don't really need hardware PWM in a PIC or AVR, you can just do that in software with some well timed interrupts. That way you could run 16 or so channels off a microcontroller. At least if you are not doing POV. Once the LEDs start moving, your eyes will see the PWM unless it's very fast. But for non POV applications, a PIC or AVR should easily be able to run that.

Or you can use a dedicated LED driver. We've used this one TI TLC5944 (Datasheet). It can drive 16 channels. Doesn't talk SPI, but you can drive it from a PIC with three or four wires.

Hmm, interesting. I'll have to look into those! I'm trying to drive the whole project off of Arduino(s) since that's what I'm most familiar with, which is also why I'm favoring SPI (Arduino provides dedicated SPI hardware that's MUCH faster than just writing to it's digital pins).

Are you combining TI LED drivers together? I ask because in total I'm trying to drive 1024 RGB LEDs independently and I'm not sure how I'd do that without something akin to SPI (again, I'm very much a n00b to this stuff!)

Yeah, you can daisy chain them. We've had two tied together, for 32 outputs, but you could do more. It just takes longer to shift a whole data set thru the more you have.

I was looking at the data sheets today, TI also has 24 channels ones now. IIRC they didn't have those when we started our project. They also have a couple of chips in more solder friendly DIP packages, but those only go up to 16 channels.

I've got some of those TLC5940 chips, the higher-current version of the TLC5944. They're essentially shift registers that lock in the output once the data has been shifted in. You'll actually have 68,719,476,736 colors to work with as each channel has 12-bits rather than 8. I don't see any 24-channel LED drivers on their site.

I would suggest you acquire some samples from TI.com so that you can test using the chips, and then once you have things working, place an order at Mouser or Digikey for the 32 x 32 x 3 / 16 = 192 you need to purchase at about $3 each. I prefer the DIP28 package because they can fit nicely in DIP sockets on protoboards, avoiding the need for making your own PCBs.

Hmm... that's definately interesting! If I do get them at $3 each, and the RGB LEDs are $0.15 each, then I'm looking at $730 bucks. But, that's before the boards and other components I'd need as well, and I'll still have to deal with power. If I just buy the RGB LED strips then it's $960 and while I'm still going to need to build my voltage regulators, I won't need to build any other custom boards.

Hmm... I think additional parts needed to make the TCL594X plus natural slop from me learning as I go will end up making the price difference less than $100, but with a LOT more labor required if I don't go with the strips.

Now... the extra bits for color are certainly nice, but I'm not sure if it's worth building 192 custom circuit boards nice!

waxpraxis wrote:Hmm... that's definately interesting! If I do get them at $3 each, and the RGB LEDs are $0.15 each, then I'm looking at $730 bucks. But, that's before the boards and other components I'd need as well, and I'll still have to deal with power. If I just buy the RGB LED strips then it's $960 and while I'm still going to need to build my voltage regulators, I won't need to build any other custom boards.

Hmm... I think additional parts needed to make the TCL594X plus natural slop from me learning as I go will end up making the price difference less than $100, but with a LOT more labor required if I don't go with the strips.

Now... the extra bits for color are certainly nice, but I'm not sure if it's worth building 192 custom circuit boards nice!

Yeah, don't do all that just for the 12 Bit resolution, that's overkill. If it was just about the cost, you could get the 24 channels (TLC5951) for $3.52 at digikey if you buy 100, or you could try and find a cheaper one (TLC59025 is 16 channel and $1.34 at digikey if you buy 100, not sure about the specs for that one, I just picked it at random).

But it's going to be a lot more work than using the strip. And cost for a custom PCB if you need one. You'd have more flexibility, but if the strip does what you want it to, it may very well not be worth the effort.

You're right! Stupid TI product finder! I checked for serial interfaces, but those had nothing listed even though they have them.

waxpraxis wrote:If I just buy the RGB LED strips then it's $960 and while I'm still going to need to build my voltage regulators, I won't need to build any other custom boards.

You don't actually need to make special boards, as you can just stick those chips in sockets and attach them to protoboards which are pretty cheap. Also the 12-bits is just part of the chip, not necessarily something you have to use. I usually just used 8 of the 12 bits (or even less if you're using NES sprites) because I didn't need that level of brightness.

The real time-consuming part problem is wiring all 1024 of your LEDs--4 inputs each-- to the ground line and chips. That's what has dissuaded me in the past from pursuing discrete solutions. Even if just using wire-wraps or something somewhat faster for connectivity, it is such a pain to deal with.

For the strip lights, you'll probably be buying them in 5m lengths. Also make sure they use the WS2801 chips, because they're the easiest to deal with and there is code already written for it (see above). Depending on how you multiplex the rows, you might end up cutting each 5m stretch into five 1m-length-32-LED lengths, which you'll need to rewire up to preserve the serial connection.

Another thing you might consider is that the LED strip lights may be too dense for your needs. The strips above have 32 LEDs per meter, meaning you'll be limited to a 1m x 1m display, which is big, but not huge. You'll also need defusers to ensure the pixels look like pixels, which can be somewhat expensive as well depending on the material. You could even use cube defusers and make it so the display can be seen from both sides.

For power, I'd buy 2x 6V 220AH deep cycle batteries from Costco. They're like $85 each. You'll need some means to charge them up as well depending on power usage.

Finally, consider getting a tachometer for your bike so that you can synchronize the animation to the actual movement of the bike.

"The essence of tyranny is not iron law. It is capricious law." -- Christopher Hitchens

Here is another thing you could do. Some of the TI chips are current sources, while most of them are current sinks. You can actually combine a source and a sink to create a grid and multiplex them. So 2 16 channel chips can drive 256 LEDs. Of course then you need to multiplex them in software.

If you create 16x16 grids, you need 2 chips per grid, 8 chips per color or 24 chips total. If instead of 16x16 grids you go to one big 64x64 grid, you can run that with 4 chips per color, or 12 chips total. That's a lot less than 192 chips. Say you pay $4 each, you basically get away with $50 for the drivers. Plus the LEDs. But then you have to do the multiplexing in software. Which, for this application, might work out well.

Of course, as Badger said, it's going to be more wiring compared to the strip. OTOH, in the grid you don't need to run one wire to each LED, but you just run the horizontal and vertical wires for the grid.

You can try the multiplexing route, but it's somewhat more difficult, namely that multiplexing only works if you're able to "sweep" signals across the rows and columns fast enough. You also only need the sink, not the source, to be the driver. A current sourcing shift register could be used for the source, or a transistor or something of that order. For example, for the 16x16 grid, you'd need to first source a row, then turn on or off each channel's sink (which most of the drivers are) as you sweep through the row's LEDs until you get to the end, then you switch to the next row, and repeat. This needs to be performed fast enough that you can scan through all the rows of the grid, while also having enough bandwidth for the PWM modulation. I think you may also need some "back-EMF" diodes to prevent damage when switching from one row to another. If you want to try this, first experiment with the TLC594x chips and one of those 8x8 RGB matrixes you can get on Sparkfun or cheaper on eBay. Make sure they're common-anode, as most are.

In the end, the labor involved with actually setting up such a system made me think that spending more money for ease of construction and programming would be the better route. Working with touchy hardware is a royal pain in the ass, especially after having to harden it from the elements. A project like this will inevitably cost a thousand or two and a month of labor if you want to make it awesome. Plus, if you buy all those TI chips, and socket them, you can always pull them out for other projects, or even sell them to people since they've been hard to get in the past.

"The essence of tyranny is not iron law. It is capricious law." -- Christopher Hitchens

I've been doing a lot of research and I think I'm going to keep with the strips. While it's certainly appealing to roll my own setup, it just doesn't look like it will save me much money and really won't save any time. Making custom boards isn't too much of a problem since I own a CNC machine, but that's still a helluva lot of soldering.

The actual strips I'm looking at, and have been testing, are these http://www.adafruit.com/products/306. They are based on the LPD8806 chip and in my tests have been really awesome, particularly once hooked up to the Arduino's SPI interface. When at full brightness the strips pull about 2 amps per meter (they are BRIGHT!) but the folks at adafruit say it's perfectly reasonable to power up to 5 meters with a 2 amp power supply as long as I'm not trying to show bright white the whole time. At this point I'm probably going to make 9 separate voltage regulators - 8 for the strips and one for the Arduino.

As for the actual grid, it looks like we're making a slot-together grid that the strips can just slide into. The inside of each cube will be lined with a reflective material (plain old tin foil worked well in tests!). For diffusing the light I've been looking at a few different options - wax paper and plastic sheeting looks pretty decent though we're still exploring.

waxpraxis wrote:When at full brightness the strips pull about 2 amps per meter (they are BRIGHT!)

Whaaaaaaaaaaat? Are you sure about that??? That can't be..

I'm looking at running 400 LEDs per channel @ 15mA per bulb.. and I'll only be pulling 1200mA! (1.2A) How in the world are you pulling that much juice with only a 5 meter strip unless they're like 1 watt LEDs??

Yep, positive. Ya gotta remember, the strips are the LED and controller chips.

Each segment has 6 LEDs total (two red, two green and two blue). Each LED draws about 20mA when lit at full brightness. So if you have the segment set to full white, that will be 120mA from a 5V supply.

Each meter has 16 segments, 32 LEDs so we multiply 16 * 120mA to get the maximum current. Per meter, this comes out to 1.92 Amps. Since the chips also draw a little power, we will round this up to 2A per meter!

Ah haaaaa.. it's because you're using such a low source voltage! Sure enough.. according to the LED wizard (http://led.linear1.org/led.wiz) you are indeed pulling 1920mA assuming a forward voltage of 3.2v per LED.

But.. check out if you were able to run 18v source voltage with 5 LEDs in series.. you're power consumption would only be 400mA.

I never thought about this dynamic of less power/more efficient power usage by using a higher source voltage and having longer strings together.

Hmmmmmmmm...... you mean.. I can have MORE LEDs per channel now??

waxpraxis wrote:Yep, positive. Ya gotta remember, the strips are the LED and controller chips.

Each segment has 6 LEDs total (two red, two green and two blue). Each LED draws about 20mA when lit at full brightness. So if you have the segment set to full white, that will be 120mA from a 5V supply.

Each meter has 16 segments, 32 LEDs so we multiply 16 * 120mA to get the maximum current. Per meter, this comes out to 1.92 Amps. Since the chips also draw a little power, we will round this up to 2A per meter!

Oh it's being brought! I didn't realize until recently that not only will my controller board handle 4A per channel, but that would mean around 1500 LEDs per channel could be run off of an 18v source. Thinking about doing the full body suit for next year.. and instead of having my top and bottom sequenced separately, having my whole body from head to toe as the 8 channel sequence.. 12,000 LED suit, anyone?

junglesmacks wrote:Ah haaaaa.. it's because you're using such a low source voltage! Sure enough.. according to the LED wizard (http://led.linear1.org/led.wiz) you are indeed pulling 1920mA assuming a forward voltage of 3.2v per LED.

But.. check out if you were able to run 18v source voltage with 5 LEDs in series.. you're power consumption would only be 400mA.

I never thought about this dynamic of less power/more efficient power usage by using a higher source voltage and having longer strings together.

I think you're confusing power consumption with current. The power consumption remains the same if you're targeting the same amount of per-LED current with sufficient forward voltage. Only in power lines does it really make sense to use high voltage instead of large amounts of current for transmission purposes. The strips use minimal voltage because each channel of each LED is independently controlled. You may choose to use LEDs in series rather than in parallel if you're worried about the current carrying ability of the wires you're using, as well as only needing one current-limiting device; however, it may mean that your LED string as a whole stops functioning if one goes out.

"The essence of tyranny is not iron law. It is capricious law." -- Christopher Hitchens