RGB Led Cube 10x10x10

I will start off saying that I am a complete noob when it comes to electronics. I am good at programming but I just started with electronics. I have created a very small 2x2x2 led cube that demonstrates multiplexing with some very basic visualizations. I also made two RGB Led's synched to music and also iPhone controlled. I don't know too much but any kind of programming I can handle if I get some sort of base point as a reference. My roommates and I wanted to make a 10x10x10 RGB LED Cube. I understand it will be a TON of work, but it will teach us a lot about electronics. I have looked online at various places and seen what people have written about them and their progress. I wanted to know if anyone has some good references to look at, or any schematics or circuits for a 10x10x10 RGB LED cube as it would be easier to follow what someone else has done. Unfortunately I can only find details about an 8x8x8. Any help is appreciated.
I may be a noob but I do have the determination and will power to actually learn how to make this. If I am given any references or circuits, I do look at them and study to figure out how they work. Just for this project, it is difficult when you aren't sure where to start.

Thanks,
hey101

I would start with checking out all the 8x8x8 RGB cubes like this one:

And then just expand the design to 10x10. Easy! :slight_smile:

I found this for an RGB 8x8x8: HNTE - RGB LED Cube
He decided to use STP16 chips and software to handle the pwm instead of going with the TLC5940. Would that be a better option or which would allow for smoother transitions in the animations?

Since it is easy to SINK current with an NPN transistor or N-Channel MOSFET it makes sense to use Common Cathode LEDS and SOURCE drivers. Then you can SOURCE 20 mA of power from each of 300 output pins and SINK the 6A (300 anodes * 20 mA each) for each layer with a single transistor.

johnwasser:
Since it is easy to SINK current with an NPN transistor or N-Channel MOSFET it makes sense to use Common Cathode LEDS and SOURCE drivers. Then you can SOURCE 20 mA of power from each of 300 output pins and SINK the 6A (300 anodes * 20 mA each) for each layer with a single transistor.

What would a basic setup for this be so I can learn and then possibly scale it up? Also and NPN transistor supplies current through it once I apply the voltage to the gate one it, correct? Does a MOSFET do the same?

hey101:
What would a basic setup for this be so I can learn and then possibly scale it up? Also and NPN transistor supplies current through it once I apply the voltage to the gate one it, correct? Does a MOSFET do the same?

For a 10x10x10 you'd need 300 anode drivers and 10 cathode drivers. Since only one cathode will be activated at a time the anode drivers only need to power one LED.

For the anode drivers you could use thirty-eight simple 8-bit shift registers like the popular 74HC595 and a current limiting resistor on each of the 300 output pins OR you could use specialized LED Driver shift registers that have built-in current limiting and possibly PWM brightness control.

The ten cathode drivers need to handle up to 300 LEDs each (roughly 6 Amps).

With an NPN transistor you connect the Collector to the cathode, the Emitter to ground and the Base through a current limiting resistor to a data pin. HIGH turns it ON. You need a transistor that can handle the voltage and current and which has enough gain that you don't have to draw too much current from the data pin.

With an N-Channel MOSFET the pins are calls Source, Drain and Gate. Be sure to get a Logic Level MOSFET that can be turned on fully with 5V or less. Typical power MOSFETs require 10V to turn on fully. You need a resistor between the data pin and Gate because the Gate acts as a capacitor and charging that capacitor might draw more current than is healthy.

hey101:
He decided to use STP16 chips and software to handle the pwm instead of going with the TLC5940. Would that be a better option or which would allow for smoother transitions in the animations?

I don't think it's a good idea.

Problem: Where are you going to store all the RGB data for the sequences? It's a huge amount - 3k per frame. Even an Arduino Mega or Due won't store more than a few seconds of data, you need something that can store gigabytes.

If you use something like an SD card to store it then you'd have to update the PWM and read the SD card in parallel. Not going to work out well...

The TLC5940 takes the load off the CPU so you should have plenty of time to prepare data for the next PWM cycle.

nb. The guy in that video seems to have his cube connected to his PC

You could use as1130 as this drives up to a 11x12 matrix.
so use 10 drivers and thats it.

So If I go the TLC5940 route, would I be able to make a way to manually change the animation using a computer for example. I know I have a wifi shield for my arduino but I didnt plan on using it for the cube. Would there be a way though to add wifi to the cube so I can manually change the current animation playing or upload a new animation to the TLC5940 (assuming the sequences are stored on that chip - if not then where would they be stored)? Also somehow I would like to add a switch to have it light up to sound using different animations I can design on the computer. I am probably getting way over my head by wanting all of that but it is things I would enjoy. I plan to build a 4x4x4 cube for testing before I scale it up to the full size of things.

Force:
You could use as1130 as this drives up to a 11x12 matrix.
so use 10 drivers and thats it.

It doesn't do PWM ... RGB leds are a bit pointless without PWM.

hey101:
upload a new animation to the TLC5940...

A TLC5940 doesn't store anything. You have to continuously tell it what to do.

hey101:
if not then where would they be stored

I think I already posted on that subject.

fungus:

hey101:
if not then where would they be stored

I think I already posted on that subject.

You said using an arduino uno or mega would not be able to hold more than a couple of seconds and that reading an sd card wouldn't work well. So would I just be using a computer to constantly send data to the TLC5940? I am sorry but I am new to all of this and I am trying to learn.

hey101:
You said using an arduino uno or mega would not be able to hold more than a couple of seconds and that reading an sd card wouldn't work well.

...wouldn't work well with software PWM.

fungus:

hey101:
You said using an arduino uno or mega would not be able to hold more than a couple of seconds and that reading an sd card wouldn't work well.

...wouldn't work well with software PWM.

I completely missed that part. Thanks. I just ordered the LED's for the project to build my scale model one.