loading
DSC_0186.jpg

LEDs are awesome, they are so tiny but bright, colorful but easy to control. Many of us start to know LED since our first lessons of electronics. And my love to LEDs started at the same time. Once I showed a LED demo to my friends at work. A girl said:I love LEDs, I gonna marry to LEDs.(she said that for real :)) I believe many of you share the same love,too.

One LED by itself is cool enough, but by the nature of human kind, we are making LEDs cooler and cooler. LED strips made one spot to a line, Matrix made it a 2D surface, some genius made LED Cubes to light up 3D space(search LED Cube projects on instructable, or check out this video, my favorite. You can even buy a 3 x 3 LED Cube kit in Radioshack for 20 bucks ).

These fancy cubes blew my mind when the first time I saw them. I knew I want to build one instantly. After some online research and messed with radioshack kit for a while. I feel it is not a easy job for me to build a big(at least 6x6x6) single color LED cube, let alone the cool RGB I want. You need pretty good soldering skills to make it work and looks nice. A lot of wiring and complicated coding.

Don't be discouraged by me though, there are good enough tutorials for you to go through. And some practice can make perfection. I just don't have enough time and effort to build this ultimate LED challenge(for me). I just want to build something nice before my girlfriend's birthday(not a whole lot time), as a gift.

 
Remove these adsRemove these ads by Signing Up

Step 1: The Idea

Picture of The Idea
DSC_0155.JPG
DSC_0156.JPG

So the goal here for me is, to design something as cool as LED cube, but easier to build, saves time and may be money. I started to do more research about light shows, figured edge lighting is also cool. After some doodling, I got a idea: what if we use a LED matrix and many pieces of clear plastic, to light up a 3D space?

But how could it have the depth of field(the third dimension)? By looking at those edge lighting designs, it seems wherever is cut or sanded will catch the photons. So on the clear parts in each row/column, if they have areas in different height are etched/ sanded, a third dimension is added.

Step 2: Stuff you need

Adafruit NeoMatrix 8x8

4 x Clear Extruded Acrylic Rectangular Bar, 3/8" Thick, 3/8" Width, 6' Length McMaster

Arduino Uno

470 Ohm resistor

capacitor 1000 uf

5V 2A Power supply

Female DC Power adapter - 2.1mm jack to screw terminal block

Something to hold all stuff together, wood, cardboard, foam core, or 3D print your housing!

Step 3: Prepare the bars

Before we deal with the bars, let's do some calculation first. Since I need to order stuff in advance, I don't know the spacing between each single LEDs. Based on the dimension described on adafruit, I calculated the spacing is 71.17mm/8 = 8.896mm = 0.35inch. The closest bar you can get is 3/8 inch thick. So in the end 8 bars is slightly wider than the LED Matrix, but still, every bar is on top of a LED.

Since we are making a 8 x 8 x 8 cube, there need to have 8 3/8 squares on Z axis. 3/8 x 8 = 3. Plus some extra to band them together later. I decided each bar is in 3.5 inch long.

I asked my professional model maker friend Denis about how to achieve what I want. Here's the plan:

  1. Cut bars into piece with a band saw, leave some extra length here.
  2. Use a milling machine and end mill bit to cut the edge flush. It won't be perfect smooth.
  3. Denis suggested me to sand all the edges, but considering there are 8 x 8 = 64 bars, I skipped this step
  4. Polish bars with a polish wheel.
  5. Masking tape the bars, only leave the block area you want lights up later exposed. You can get the best quality if you tape one at a time. I taped one set at a time to save some time.
  6. Bead blast the masked bars.
  7. Repeat!

I bought these bars thinking I can save some time cutting them. But as the project progressing I figured it is still a lot repetitive work. Is there other options?

Next time probably I will try laser cutting them. 3/8 inch thick acrylic might be a little challenging for a hobby laser cutter. But if you can find one, it might save you some time.

Step 4: Wire them up

Picture of Wire them up
5v2A_MED.jpg
female21terminal_MED.jpg
leds_basic.jpg

Adafruit has a very good tutorial of its Neopixal products. And they are updating over time. When I started to play with them, they didn't mention there should be a resistor between arduino and the matrix. Thus I fried a couple LEDs. But don't worry, usually it will only fry the very first LED. So I highly recommend you order some replacement LED chips (WS2812S 5050 RGB LED with Integrated Driver Chip) if you know how to desolder SMT components(Or have a friend knows how like I do, thanks Eric).

The connection is actually pretty easy. All Neo pixal products have three pins, +5v, GND and Digit In. An external power is needed though for a NeoMatrix. The above image shows details. Just make sure you have the protection of the capacitor and resistor.

Step 5: Coding Started

Picture of Coding Started

After everything connected, you should go download the Neopixel library and run the test code. When it lights up, you will be amazed! I seriously stare it for as long as my eyes can take(they are so bright!). You will see 4 LEDs are off, but don't panic, they are fine, it's all because the test code only defines 60 LEDs. Just change that to 64 .

Then you can download the NeoMatrix Library to let it say "Howdy" to you.

Also, to draw dynamic shapes, you'll need Adafruit GFX library. You can scroll texts, draw each single pixel, lines, rectangles, circles and other more. By using the drawPixel command, you can make customized shapes .

The way I did for my shapes is, I drew what I want in a 8 x 8 grid in Adobe Illustrator first(You can use any 2D software, or draw even on paper first. In this step you design the shapes and make sure you like it, so you don't have to change it later programming which consumes more time). Then define a 2D array in arduino sketch as this:

byte heart[8][8]={

{ 0,0,0,0,0,0,0,0 } ,

{ 0,1,1,0,0,1,1,0 } ,

{ 1,1,1,1,1,1,1,1 } ,

{ 1,1,1,1,1,1,1,1 } ,

{ 1,1,1,1,1,1,1,1 } ,

{ 0,1,1,1,1,1,1,0 } ,

{ 0,0,1,1,1,1,0,0 } ,

{ 0,0,0,1,1,0,0,0 } ,

};

In this array, 1 stands for a pixel that lights up, and 0 means off. In the void loop(), you can just call

for(int i=0;i<8;i++){

for(int j=0;j<8; j++){

if(heart[i][j]==1){

matrix.drawPixel(j, i, RED);

}

}

}

matrix.show();

delay(20);

to draw the heart shape.

In the 2D array, you can throw other numbers to represent other colors, and add several other if statements.

I tried to create a 3D array, with the third dimension as color. It is too complicated to type for simple shapes. You can try that if you want to show some really colorful but specific image.

Step 6: Put together

Picture of Put together
DSC_0269.JPG
DSC_0270.JPG
DSC_0274.JPG

I 3D printed housing parts and put them together, in this step you can use whatever material around you, card board, wood, foam core. Just make sure all the bars are fixed tightly and secure on top of NeoMatrix

STL files are here:

http://www.thingiverse.com/thing:259135.

Step 7: Future Plan

Make some nice graphic binding with music.

Play around with bars layout, what new interaction can you get with different configuration?

At last, thanks for watching! If you gonna make something similar, please let me know. Can't wait to see your light show!

mdeudon11 months ago

Hello guys,

I am interested by this amazing project. The problem is that not everyone has a sandblaster. Is there any other solution ? Do you think abrasive paper could work ?

Michael

SuperTech-IT made it!11 months ago

A fan of Kevin Darrah, huh? Prepare to be amazed !!!

http://www.instructables.com/id/8X8X8-RGB-LED-Cube/

CIMG3296.JPG

Would you believe ZERO WIRE 8X8X8 cubes? Come and check out my creations!

ttran50 made it!1 year ago

Hey Fried! I made it...followed the instructions! Still have to make the proper enclosure and you are right these LEDs are crazy bright and I can't stop looking at it. Awesome thanks!

DSC_0009.JPGDSC_0005.JPG
hohohe1 year ago

Do not have access to sand blaster, do you think a "Frosted spray" would work

dnicol11 year ago
Hi Fried. I missed your call saturday. Please call me at my 647 phone number. I do nt have Skype
Friedlc (author)  dnicol11 year ago

What's the best time to call you? I'll go out with friends tomr night so how about tuesday night around 7?

Gifs for you!

random_LED.giflove.gifled-cube-rainbow.gif
Friedlc (author)  Penolopy Bulnick1 year ago

Thanks Penolopy, they looks great!!!

:D

jeemge011 year ago

Do you have the STL file for the base? I really like the design of the base plate. I was thinking of using the base plate and then using nice wood for the sides. How did you suspend the LED matrix in the base, or is it resting on the Arduino?

Friedlc (author)  jeemge011 year ago

There are 2 version of the housing now, one with the usb port opening another without.

Awesome! Thanks
Friedlc (author)  jeemge011 year ago

Hi, I just uploaded the stl files here :

http://www.thingiverse.com/thing:259135/#files

However I forgot to leave a opening for arduino usb port. So you have to disassemble it before reprogramming.

I'll make an update soon.

damaltor1 year ago

This is beautiful and by far the best electronics instructable idea i have seen for a while. Thank you dude, i will definitely build one of those.

Friedlc (author)  damaltor1 year ago

Thanks! Please show me yours when you finish! :D

tgarty1 year ago
and is the power suply ac or dc? thanks
Friedlc (author)  tgarty1 year ago

Sorry, it should be 1000uf, and it is a DC power supply. I suggest you go to the adafruit tutorial to get the latest updates.

tgarty1 year ago
in the sketch you'v written capitetor 1000 uf but in the list you'v written 100 uf so which do i choose? i want to be sure beforei start shoping
MadWinter1 year ago

Hi,

The first video looks really neat! I don't understand though how you get the image onto two sides, or is that post production?

Friedlc (author)  MadWinter1 year ago

Hi,

Thanks!

I also bead blasted all the top surface of the bar, so it will catch light. You can find images on Step 1 to get a better understanding.

Ah, so you created a kind of step, that is visible through the front i guess? And because the ones in front are not blasted you can see through? Very neat!

Friedlc (author)  MadWinter1 year ago

You're right! The clear section won't catch much light so you can see through.

well i made a few led cubes my best work i think is a 5*5*5 rgb cube not that big but it works for me... nevertheless your first impressions look very cool i hope to see more of this nice idea in the next days
Friedlc (author)  Psycho4Ever1 year ago

Thanks, the tutorial is updated, hope you engoy!