Paul__B:
Not the current limit of the transistor as such, but you would need 56 mA to drive the transistors into saturation, and where are you going to get 56 mA?
Putting BJTs into saturation will cause ghosting as they do not turn off cleanly. Something I learned some 45 years ago!
I didn't think of this...Ultimately this means that I need to go back to MOSFETs for a bigger cube, unless I split it like David suggested, right?
HKJ-lygte:
With the ghosting, have it been tried to step slowly through the phases (a few seconds for each step) to check that everything works correctly at DC levels?
Yes, I tried this when multiplexing one LED and I could see ghosts in that configuration. I then turned up the delay time between each step, so that the LED actually stayed on for half a second. I noticed that the ghosting LEDs were flashing very shortly when turning the desired LED on. After the inital flash they stayed off until the next time the desired LED was turned on again.
As far as my observation goes, ghosts are always in the same column.
HKJ-lygte:
One way to avoid ghosting:
Take OE high
Clock a all off pattern out (Both directions) and latch.
Take OE low shortly (delayMicroseconds(10)), this will turn the current MOS transistor off.
Take OE high
Clock the next pattern out and latch.
Take OE low again for the frame time.
If there is any ghosting with this, it is a hardware problem, maybe ground bounce or it is not ghosting but valid but unwanted frame data.
If I understand correctly, this has been done in post #43. You can find the full code in post #21.
I don't know what you mean by unwanted frame data. Also I looked up what ground bounce is, but don't know how to fix it.
Generally, I was thinking to solder my circuit onto a perfboard, so that I could be sure that the excessive wiring or the breadboard isn't causing my problem.