I just built a 4x4x4 cube running on an Uno and it turned out very well. I am planning on making an 8x8x8 cube next, but my electronics expertise is very limited. I don't understand why I need transistors or capacitors. My initial plan is to connect all the anodes of each row and the cathodes of all the columns for 64 columns and 8 rows. Then I'll load the on/off state for LEDs 8 at a time with one byte. So for the first row, ill sink current from the row and then source 8 LEDs maximum at a time, 8 times, and then move on to the second row. The arduino should be able to handle 8 LEDs at once so why do I need any additional hardware?
That will be dim - will take 64 cyces to get thru all the columns.
Better way is to write a whole layer at one time - then your multiplexing improves by 8!
I am making a 9x9x9 cube right now, you could use the same card depopulated by a few shift registers.
8 cd74ac164 sourcing 20mA f of current to each anode column, one 74hc595 driving AOI518 N-channel MOSFETs sinking current from the layers. Control using SPI transfers from any Arduino - I am using one of my Atmega1284P boards with 16K SRAM.
I have parts and could price one up if you're interested. You'll need at least a 2A switching power, I have 4A supplies on order as my 2A supply was apparently going into thermal shutdown after a while when source 81 LEDs worth of current. 64 might not be too bad.
Thanks! Do you have a higher resolution circuit diagram? A 9x9x9 cube would actually be better, if it's not too much trouble I'd love for you to price one...
Could you elaborate a little more though? My 4x4x4 cube is only lighting 1 LED at a time so isn't that 64 cycles as well? It's pretty bright...Wouldn't lighting 8 LEDs at a time of an 8x8x8 be the same thing? And what's the deal with the MOSFETs? Each layer is connected to 1 and that lets you light 81 LEDs at once?
Not sure how to correlate - lighting 1 of 64 vs 1 of 512 or 1 of 729.
Yes, with the MOSFETs, each layer is connected to 1 and up to 81 LEDs at a time are lit.
Every 3.3mS a new layer is turned on, the whole cube is refreshed every 29.7mS (~33 Hz).
Schematic is on another machine, will attach a higher res picture.
I'll dig up my receipts and get a price done up for you.
Higher Res schematic attached (NOT MEANT TO BE VIEWED here in the forum, just do a Save As whatever and put it someplace).
I changed the OR gate to an AND gate, and am using an active high CS now for the anode shift registers. I think I was getting an extra clock as CS went high or something was making 1 column stay on all the time.
I also need to check my board to LED column wiring, I think things got a little jumbled when we went from loose pins into the Pololu crimp housings to secure everything. I noticed I had very few wires into the last header block, and that’s supposed to be the MSB data, so I think (I hope) perhaps the headers are just swapped.
Originally I had planned just ribbon cable to a breakout board for the LEDs, instead we went right from board to LED wires, and I wasn’t really set up/documented for that, so I’m doing a little catchup.
The wiring being off might also explain the 1 column always being on, so I might go back to an OR gate and SPI mode 2 when I get that fixed.
I notice the LEDs stop multiplexing during a code download, so perhaps lower value current limit resistors could be used as well.
I might try just wiring some in parallel to the bottom of the board once my 4A supply arrives.
Got my driver board all priced up.
Look at Cross Roads Electronics