Last weekend we went to the UK Maker Faire and saw many awesome things, including some very nice LED cubes. Inspired by this I thought I’d have a go at building a small one.
Constructing the cube itself was relatively straightforward. The structure is formed almost entirely from the legs of the LEDs. The anode legs are bent 90° to form a strip of 4 LEDs. The cathode drops down to meet the anode rail of the strip below, which is rotated 90° to give an alternating grid of anode/cathode wires. The whole assembly is mounted on a piece of stripboard (forming the cathode connections for the bottom row of LEDs), along with vertcal wires to drop down the anode rails.
This results in a charliplexed matrix, requiring 12 drive wires. Effectively it’s an 8×4 grid with two LEDs (one of each polarity) at each intersection. This is connected directly to an Arduino Pro Micro (a small form-factor variant of an Arduino Leonardo).
I’ve already written a charlieplex driver for a different project, so a bit of modification and a few re-soldered joints later I had a working LED cube. Not bad for an afternoon’s work!
However initial results were poor. I’d used some cheap blue LEDs I happened to have left over. These are nice and bright, but with water clear cases and fairly narrow focus. Unless you were looking almost directly down it was barely visible. In fact each LED illuminated the LED immediately above more than it lit itself. In the video this is particularly noticable on the vertical sweep (and the reason I didn’t bother make it sweep back down!).
The solution was to put a small blob of hot glue on top of each LED. This dries slightly opaque, forming a near perfect diffuser!