Introduction: 3D LED Charlieplex Cube From Chrismas Tree Lights
Christmas time is a great time to obtain large numbers of LEDs very cheaply. This instructable uses 80 LEDs from an LED christmas tree light string to make the venerable 3D LED cube. In this case a 5x4x4 cube.
The only other components are a 7805 5V voltage regulator, 2x100nF decoupling capacitor, 16 resistors, an IR receiver and a single PIC 16F88 microcontroller. Many other LED cube projects use all sorts of shift register chips etc to perform their addressing of the LED matrix.
To save on component and wiring effort it makes use of the charlieplexing addressing technique previously described in instructables:
https://www.instructables.com/id/Charlieplexing-LEDs--The-theory/
and
https://www.instructables.com/id/How-to-drive-a-lot-of-LEDs-from-a-few-microcontrol/
previous projects using this are:
https://www.instructables.com/id/Microdot---wrist-watch-LED-pattern-timepiece/
and
https://www.instructables.com/id/Minidot-2---The-holoclock/
I'd recommend reading at least the first two before continuing to read this instructable.
The only other components are a 7805 5V voltage regulator, 2x100nF decoupling capacitor, 16 resistors, an IR receiver and a single PIC 16F88 microcontroller. Many other LED cube projects use all sorts of shift register chips etc to perform their addressing of the LED matrix.
To save on component and wiring effort it makes use of the charlieplexing addressing technique previously described in instructables:
https://www.instructables.com/id/Charlieplexing-LEDs--The-theory/
and
https://www.instructables.com/id/How-to-drive-a-lot-of-LEDs-from-a-few-microcontrol/
previous projects using this are:
https://www.instructables.com/id/Microdot---wrist-watch-LED-pattern-timepiece/
and
https://www.instructables.com/id/Minidot-2---The-holoclock/
I'd recommend reading at least the first two before continuing to read this instructable.
Step 1: Strip the LEDS From a String
This is pretty boring actually. Get a string of Christmas lights. Preferably ones with a concave lens, ie they look like someone has countersunk the top of the LED.
Strip and unsolder all the leds in the string.
Strip and unsolder all the leds in the string.
Step 2: Build the Cube
Now build the cube.
Because we are using charlieplexing we can take a few shortcuts to your average LED cube making.
In particular we can use a bunch of sections that all have the same connection. The main picture below shows one section. It's just tinned copper wire soldered together. Each section becomes one line in the charlieplex matrix.....you did read the articles mentioned in the intro didn't you??
I soldered my wire into a 5x4 grid and left some tags on the bottom. These are used to fit down onto some stripboard (aka veroboard) and gives both some mechanical stability and allows easy even spacing of the grid.
Note if I did this again, I would use some premade pet cage mesh, say for rabbits or other small animals rather than solder a whole bunch of wires together.
The other pictures in this section show the individual LEDs soldered to each section. One leg of the LED solders to the mech section and the other is bent out at 90 degrees to solder to the cross pieces.
Because we are using charlieplexing we can take a few shortcuts to your average LED cube making.
In particular we can use a bunch of sections that all have the same connection. The main picture below shows one section. It's just tinned copper wire soldered together. Each section becomes one line in the charlieplex matrix.....you did read the articles mentioned in the intro didn't you??
I soldered my wire into a 5x4 grid and left some tags on the bottom. These are used to fit down onto some stripboard (aka veroboard) and gives both some mechanical stability and allows easy even spacing of the grid.
Note if I did this again, I would use some premade pet cage mesh, say for rabbits or other small animals rather than solder a whole bunch of wires together.
The other pictures in this section show the individual LEDs soldered to each section. One leg of the LED solders to the mech section and the other is bent out at 90 degrees to solder to the cross pieces.
Step 3: Making It All Charlieplex Like
New comes the wiring into a charliplex matrix.
The first picture below shows one section (thick lines) with LEDs attached. Each row has LEDs attached to the mesh with the same polarity. The next row is attached with the opposite polarity. Each alternate row is connected together. This forms another charlieplex line.
So for the schematic below if I wanted to light up the top most right hand corner LED I'd put a +ve signal on line C1 and a -ve signal on line C11. The topmost LED in the next mesh would have a +ve signal again on line C1 and a -ve signal on line C12 and so on.
Because I have 5 rows in each mesh I connected the bottom row alternately as shown. A 6x4 or other even numbered mesh would simply repeat the top connection scheme.
The second picture is a rough 3D schematic....which I hope shows the connections with a little more clarity.
The final picture shows a partially completed grid.
The first picture below shows one section (thick lines) with LEDs attached. Each row has LEDs attached to the mesh with the same polarity. The next row is attached with the opposite polarity. Each alternate row is connected together. This forms another charlieplex line.
So for the schematic below if I wanted to light up the top most right hand corner LED I'd put a +ve signal on line C1 and a -ve signal on line C11. The topmost LED in the next mesh would have a +ve signal again on line C1 and a -ve signal on line C12 and so on.
Because I have 5 rows in each mesh I connected the bottom row alternately as shown. A 6x4 or other even numbered mesh would simply repeat the top connection scheme.
The second picture is a rough 3D schematic....which I hope shows the connections with a little more clarity.
The final picture shows a partially completed grid.
Step 4: The Video and Last Words
Now we have 80 LEDs connected into a 5x4x4 cube. Consisting of 14 charlieplex lines.
Those of you who actually read the referenced articles in the intro will note this is a sparse charlieplex matrix. With 14 lines, I could theoretically connect 13x14=182 LEDs.....however the wiring would have been more complex.
The remaining part of the circuit was simply the charlieplex line current limiting resistors, a very simple PSU (7805 regulator) and a PIC with an IR receiver connected. When the silly season is over I'll hopefully be releasing the PIC program, but it basically sends random PWM signals down the lines, an IR remote can control the speed and distribution of the PWM patterns.
Note this isn't strictly charlieplex driving, I'm not addressing each individual LED one by one, switching lines tri-state as needed. However random PWM signals seem to work great with charlieplex grids....if you like randomly pulsing LEDs that is. Too close to Christmas to finish that part of the setup.
One thing to notice if you don't properly tristate lines when driving a charlieplex grid, is that one LED will light brightly, and several others will light up dimly. It's a little unpredictable, however for random patterns this is no problem because an element of randomness is what you want.
Coming next article will be a proper charlieplex driving scheme where individual LEDs can be lit up and some more interesting patterns made. I'm hoping to do a sort of 3D game of life unit, and perhaps re-do the grid with nicer, larger, neater sections made of pet cage mesh. I was only slightly whelmed by how it turned out with hand soldering the grid.
For now here is a pretty video (warning 9Mb).....sorry I didn't have time to youtube it.
Hopefully this brief article has shown how to make use of the charlieplexing method of driving LEDs and will put those old LED christmas string lights to good use.
Those of you who actually read the referenced articles in the intro will note this is a sparse charlieplex matrix. With 14 lines, I could theoretically connect 13x14=182 LEDs.....however the wiring would have been more complex.
The remaining part of the circuit was simply the charlieplex line current limiting resistors, a very simple PSU (7805 regulator) and a PIC with an IR receiver connected. When the silly season is over I'll hopefully be releasing the PIC program, but it basically sends random PWM signals down the lines, an IR remote can control the speed and distribution of the PWM patterns.
Note this isn't strictly charlieplex driving, I'm not addressing each individual LED one by one, switching lines tri-state as needed. However random PWM signals seem to work great with charlieplex grids....if you like randomly pulsing LEDs that is. Too close to Christmas to finish that part of the setup.
One thing to notice if you don't properly tristate lines when driving a charlieplex grid, is that one LED will light brightly, and several others will light up dimly. It's a little unpredictable, however for random patterns this is no problem because an element of randomness is what you want.
Coming next article will be a proper charlieplex driving scheme where individual LEDs can be lit up and some more interesting patterns made. I'm hoping to do a sort of 3D game of life unit, and perhaps re-do the grid with nicer, larger, neater sections made of pet cage mesh. I was only slightly whelmed by how it turned out with hand soldering the grid.
For now here is a pretty video (warning 9Mb).....sorry I didn't have time to youtube it.
Hopefully this brief article has shown how to make use of the charlieplexing method of driving LEDs and will put those old LED christmas string lights to good use.