Electronic – arduino – Common cathode RGB LED Cube: Can/should it be done

arduinoledshift-register

I'm planning to build a 8x8x8 RGB LED cube run by an Arduino Uno. This is my first electronic project since highschool ~ 20 years ago so I'm more than a little hazy on the subject and may be making fairly fundamental mistakes/assumptions.

I've seen Kevin Darrah's impressive implementation and wondered if it could be improved or simplified by using common-cathode RGB LEDs. I think that by having cathode columns and each layer consisting of three anode sets (e.g. R pointing left, G pointing right and B pointing to the back) I'd be able to run it with 8 shift registers such as the 74HC595 controlling the 64 columns and three controlling the 24 anode layers. Much fewer than the 25 Kevin is using to control 192 anode columns and eight cathode layers.

So my question is two fold:

a) Is my idea sound or would common-anode be a smarter way to do it?

b) What chips would I need to be the current source and sinks given that I want to get at least 256 shades from each colour in each LED and therefore need to else turn the RGB components on/off extremely fast and the amount of on Vs off time creates a POV effect and dims/brightens the colour, or be able to control the current.

Update with diagrams
Please pardon my terrible drawing skills, made even worse by doing this on a trackpad in Photoshop.

Basic layout

The darker colours are the legs coming from this LED. The fainter colours are the legs of adjacent LEDs. The RGB anodes all go laterally. R & G in opposite directions and blue perpendicular to that. The common cathode (black) forms the column and goes to the base of the structure. Three sides of the cube therefore have anode sets on them and act just like a regular LED cube would by activating (one colour within) that layer while the 64 columns are by the other set of chips. When one column is activated all activated layers on that column light up.

LED leg layout

Best Answer

Yes, you can make an 8x8x8 RGB LED cube with common-cathode LEDs.

Unfortunately, it won't be any simpler than a similar cube made with common-anode LEDs.

The reason is simple: it can seen from symmetry that common-cathode isn't any different from common-anode except for swapping the cathode and the anode:

schematic

simulate this circuit – Schematic created using CircuitLab

The driving circuitry is just the same, except you swap positive voltages for negative voltages. Instead of NPN transistors, you have PNP transistors. Instead of current sources, you have current sinks. Just different. Not simpler.

You could design an LED cube with fewer shift registers regardless of the choice of common-cathode or common-anode. However, you then have to multiplex more LEDs, meaning each gets a smaller slice of time in which it can be on. At some point, the duty cycle of your LEDs becomes so low that you can't reasonably make them bright enough.