Wednesday, June 17, 2009

[DIY] 3x3x3 LED cube

Saw some really cool 3x3 led cube. It might just be the "it" decoration for my office to make it a more disco-ish setting. Grab some LEDs and components from the store and lets get cracking. My apologies for the late posting, was rather caught up recently.

The design concept I wanted is the cube got to be detachable. So any time I am bored with the colours, or I got my hands on some RGB LEDs, min effort is needed to mod the LED cube. If every thing is soldered down, there is not much flexibility. Thus, I gotta make another cube. I did have something that is pluggable, upgradeable and easy to modify.

To make fashioning of the cube easy. I made 9 holes on the cover of a paper box. This will make the bending of the LED pins easy. Make sure you align the cathode and anode accordingly. We will be folding the cathode together.

This will what you will have after fashioning 3 layers of 3x3 LEDs.

About the detachable design, it was excuse for me not to solder it. I don't really like to do soldering job. The fumes just make me nauseous. So, I used some PCB jumpers. This are commonly seen on HDD and CD roms / DVD roms to select the master / slave mode. There go the frenzy to look for OLD hdds and optical drives to salvage those jumpers. Later, because of the use of PCB jumpers, some problem occurred which I will elaborate later.

Solder the layers on a vector board or strip board. Your choice. Make room for the jumper pins. Here I choose to light up a layer by pulling the cathode to ground and the individual Led by the 3x 3pins to high. The trick here is to pull an optical illusion on the viewer. Human vision will not notice flicker that is above 100Hz. Moving pictures of 27 frames per seconds make it a video. We shall use this concept when programming. Hence each layer are light up with a certain combination at a certain "refresh rate" to create the illusion of moving/running lights pattern.

Hook up the led cube to the MCU. I am using a PIC16F4220F out of convenience. It is the only available MCU on my desk. you can use ARM, other PIC etc.

Before all the programming rush, we need to ensure all the LEDs are working properly. A diagnostic sequence need to be run by simply light up all the LED. For my cube, not all LED light up accordingly. When I move the individual LEDs slightly, they light up and dimmed. Intermittent lighting is not what we wanted. The problem might derived from the design that uses PCB jumpers instead of solder everything.

Now, in a split for a decision. Should it be soldered, loose the ability to be modify easily or find another method to achieve the hack-ability.