I didn't want to show the sensors so I started experimenting with using the actual LED's of the cube as the sensors.
Experimenting with LED's is very easy on an Arduino.
It looked like this was going to work, but I noticed that when I made the leads longer, the readings from the LED's where way off. By using a isolated (COAX) cable, this problem was resolved.
I noticed that I didn't need the wire to the cathode (negative) of the LED because I could use the mantle of the COAX-wire for that.
My next experiment would be learning how multiplexing works. The Arduino hasn't got enough ports to connect 4x4x4 = 64 LED's individually. There are more than enough instructables explaining multiplexing, so it was not hard to figure out.
Just multiplexing wasn't enough so I also had to figure out how to charlyplex, to get even more LED's on a few ports. This was also easy to learn on instructables.
Finally I finished the cube. The four top corner LED's are not connected to a multi- or charlyplexed grid but directly to the Arduino with a COAX-wire. These LED's are both LED and sensor. Depending on what LED of the four is the darkest, an other show will perform.
(to make this cube a bit more clear, I now also made a step-by-step instructable of this LED-cube)












































What is BW and what is F and BP?
I built a 5x5x5 LED cube and found it difficult to keep the LEDs at uniform brightness until I went with an interrupt based scanning routine. From your videos it looks very good. If when you turn them all on you can see variations in the brightness you may want to change the code in this way.
Best Wishes.