4x4x4 Cube, 32 transistors, 12 control pins from arduino... what ya think....

ok here is what i have. i have built a 4x4x4 5mm led cube and have several of the MAX 7219 chips. the cube is wired in common cathode on the layer and common anode on the columns. i have been doing some research on multiplexing and charlieplexing and her is what i have come up with. on a 4x4x4 cube there are 16 pins for the columns and 4 pins for the layers (20 total control pins) i have worked something out with just transistors and multiplexing to get it down to 12 pins to control 64 led’s. can anyone look over the schematic and tell me if there is anything you can see wrong. i need a good proof of concept before i go wiring up32 npn transistors but i think it should work. the only thing i can think of is that after every frame all pins have to go low or 0VDC to clear the cube before going to the next frame

Livewire - Professional Edition - 4x4x4 schematic multiplexed.pdf (30.8 KB)

You know what, even though some of it is “wrong”, I think it actually might work. I was gonna say “no” but then I started thinking (never a good sign:P) But I have a couple of things to point out:

First, where are the resistors? For the transistor bases, and LED’s? For the transistor bases around 1 k ohm can be used as a rule of thumb for a transistor as a switch. For the LED’s, you gotta remember that since you use two NPN emitter-followers for the high-side switch, the LED wont get more voltage than the supply voltage minus 2 base-emitter series connections, IE about 5V - 0.7V - 0.7V = 3.6 V. Oh, and further minus the saturation voltage of a row transistor. Depending on the LED might not be enough, or too narrow a margin for calculating a series LED resistor. You might want to consider exchanging the columns high-side transistors to PNP types.

Your anode (column) selection transistor grid might just work, as long as the bottom 4 lines “to arduino I/O pin” are set to either HIGH or LOW output, not as input!). I don’t think this is a problem, but if you were to set these I/O pins as input, the column transistors could conduct even if they are supposed to be “off” (depending on the transistor grid’s signals).

Now for the part I think is “wrong”, but since bipolar transistors are just that - bipolar, it will (probably) work: The cathode transistor grid. I’m pretty sure you switched the emitter and collector for those, but even as-is it could/should work. Transistor can be used as a switch the other way around too (but the characteristics for that transistor will be wrong, and not really recommended, but certainly possible).

Or just turn those transistors around. Anyway, the same thing applies here as with the anode rows, will probably work, as long as none of the 4 right-most “to Arduino I/O pin” lines are set as input.

But do include some resistors!

Btw, here is another thread with a very similar approach: http://arduino.cc/forum/index.php/topic,51183.0.html


I just want to point out I just commented on the feasibility of the schematics, not whether or not this is the best approach. I haven’t built a 444 cube like this (i did another one but entirely different), but anyway I’m not so sure this is the best approach. Also, if you have a common cathode for each layer, I’m not sure it would work as-is, unless if you maybe multiplex each layer also (8 and 8 led’s, half a layer at a time).

A lot of the transistors are wired as open collector drivers - prett sure these will need pullup resistors to look like highs when you want the transistors off.

i know about the resistor for the transistors i just didnt want to draw in all those resistors i am going to use 1k resistors. i was watching this tutorial and figured i would give it a try.

take a look... http://www.youtube.com/watch?v=lZyc6ulpkyM



Someone else was trying to get that same circuit working. I think instead of trying to get all the transistors working, how about looking into doing all that with a bunch of logic gates? You've got things wired up like AND & NAND gates, just use those directly and then bag all the resistors.

the only thing i need now if this circuit works is to figure out programming to the arduino i have tested the circuit in livewire (circuit simulation program) and when i send +5v to the transistor on the row and column it lights up the correct led so i believe everything with the schematic will work (yes i added the resistors on the simulator) i was wondering would it be better to run the inputs to the transistors straight to the arduino since there is enough pins to control it or through a IC such as some MAX7219's or ULN2003 (thats the only drivers i have (ive got several of each)). any advise is much appreciated.