"Fiber Optic" LED Matrix

10,709

179

44

About: Projects in light, music, and electronics. Find them all on my site: www.jbumstead.com

In this project, I created a "fiber optic" LED matrix using WS2801 LED strip and glue sticks. The light displays have a different look than similar LED cubes and a few advantages. First, you can't see the actual LEDs in the display because the glue sticks guide the light away from the LEDs. Second, the device requires much fewer LEDs to make up the volume. Because the top and bottom have different LED strips, the fiber optic cables can take on two different colors that mix in the center. There are tons of different color displays that can be achieved with the device. I also added a button and knob for controlling the speed, color, and type of light display. In this instructable, I will go over the design, assembly, and code for building your own fiber optic LED matrix. Here we go!

Supplies:

Step 1: Supply List

Materials:

1. WS2801 or WS2811 pixel LED strip (128 LEDs) - https://www.amazon.com/gp/product/B01AG923GI/ref=o...

2. Arduino Nano - https://www.ebay.com/itm/5Pcs-USB-CH340G-Nano-V3-0...

3. 5mm thick wood

4. 5mm plexiglass - https://www.ebay.com/itm/ACRYLIC-PLEXIGLASS-SHEET-...

5. 64 glue sticks - the transparency really matters for getting this to work. I got some feedback that the Dewalt ones were too yellow when purchased online. I had issues with consistency during this project. Maybe Arrow gluesticks would work better, but make sure to check out the gluesticks in person before buying. The more transparent looking, the better. https://www.homedepot.com/p/DEWALT-10-in-x-7-16-in...

6. Push button - https://www.amazon.com/yueton-Momentary-Button-Swi...

7. 10k Potentiometer - https://www.adafruit.com/product/562?gclid=Cj0KCQi...

8. Alitove LED power strip - https://www.amazon.com/ALITOVE-Adapter-Converter-C...

9. ON/OFF switch - https://www.amazon.com/gp/product/B071R79R8M/ref=o...

10. 5.5mmx2.1mm DC Power Jack - https://www.amazon.com/gp/product/B01N8VV78D/ref=o...

11. M3 x 12 bolts

12. Wood glue

13. Electrical tape

14. Wire wrap wire

Tools:

1. Hot glue gun

2. Laser cutter

3. M6 allen wrench

4. 3D printer

5. Soldering iron

6. Scissors

7. Wire wrap tool

Step 2: System Overview

The device consists of two 64 pixel LED strips that zigzag along the top and bottom. Data for each LED strip is controlled by separate digital output channels of the Arduino (D2 and D3). The potentiometer is connected to the analog input channel A0 and the push button is connected to digital pin D4. At the back of the device is a power jack and switch. The USB jack of the Arduino is also exposed so new programs can be uploaded to the device.

The light exits the LED and into the glue stick. Much of the light is "trapped" inside the glue stick because of scattering in the glue stick, which makes it act a little like a fiber optic cable. Glue sticks aren't the best material for fiber optic cables because they scatter the light a lot, making them more like a diffuser. Here is a nice video on using water as a fiber optic cable.

Step 3: Cutting the Chassis

I designed the chassis in Fusion 360 so it could be cut using a laser cutter. The top and bottom chassis are finger joint boxes. I wanted to hide these joints and have the plexiglass flush with the wood, so I added flat slats on the outside of the finger joint boxes. All the electronics are housed in the bottom portion of the device, and a cable is run down from the top to connect the top LED strip and Arduino. The LEDs are mounted into a 64 hole sheet of wood. A similar sheet is placed over the LEDs to hide them and guide the glue sticks.

Here is a link to the Fusion 360 file: https://a360.co/2DbVmKj

Step 4: Testing Fiber Optic Gluesticks

Before attaching all the glue sticks, I tested a single glue stick with one LED attached at either end. The data signal was generated with an Arduino. In the above photos, you can see how the color from either end of the glue stick merge in the middle. I suggest running this test to make sure you are excited about the effect and want to proceed. I realized I wanted to use smaller glue sticks after this test because the light didn't propagate down the glue stick as far as I initially thought.

Step 5: LED and Gluestick Mounting

After cutting the chassis, I cut 64 glue sticks to about 17cm. To make sure this length was correct, I assembled part of the chassis with the plexiglass and measured the length required so the glue stick would fit over the section.

NOTE: The glue stick length is really important. If it is too short, then you won't be able to attach the LEDs. If it is too long, then the glue stick will buckle when you attach the plexiglass.

I then placed the glue stick through all four sheets of wood with holes (see above). I pressed the hot glue gun into the glue stick to melt it and make a cone for inserting the LED. I quickly pulled out the hot glue gun tip and pressed the LED into the glue stick. The glue stick then hardened around the LED. I added one row of glue sticks at a time so it was easier to reach them with the hot glue gun. The procedure was repeated for the top and bottom LED strips.

Once they were all glued, I slid the wood sheet apart and pressed the LEDs into place on only one side. I soldered cables for 5V, Gnd, and data to the LED strip and ran the cables through the small hole in the center of the wood sheet. These cables were connected to the Arduino later.

Step 6: Front and Rear Panel Assembly

I pushed the ON/OFF switch and power cable jack into the rear panel, and the pushbutton and potentiometer into the front panel. To secure the Arduino in the device, I designed and 3D printed a mount (STL file attached here). The Arduino and two M3 nuts slide into the mount. I then soldered all the electrical components according to the diagram shown in the System Overview step of this instructable using wire wrap wire. The 5V, Gnd, and data pin from the two LED strips were also connected at this point.

Step 7: Base Assembly

The finger joint walls of the bases were then connected. Because of the snug fit, no glue was required for these joints. Above you can see how the 64 hole sheets of wood fit into the finger joint walls. There are rectangular holes in the finger joint walls so the cables and components on the panels can go through.

The plexiglass walls were then mounted with M3 screws that drive into the pilot holes in the finger joint base. The plexiglass was mounted at this point to make sure the flat edge panels were aligned. I added wood glue onto the face of the finger joint base and attached the panels, making sure the edge of the wood matched the plexiglass.

Step 8: Mounting Top and Bottom Cover

I wanted to be able to remove the top and bottom cover of the device, so I added corner pieces with pilot holes to drive a bolt into place. These corner pieces were adhered to the finger joint base with hot glue. I then pushed the top panel into place and screwed it down with bolts.

NOTE: My design didn't give much clearance for the LEDs on the top, so it may be good to edit the laser cutting file if you plan to build this device on your own.

Step 9: Coding the Fiber Optic LED Matrix

Attached is the code I wrote for controlling the device.

Data pin for LED strip 1: D2

Data pin for LED strip 2: D3

Push button: D4

Potentiometer: A0

The code tells the Arduino to read the inputs from the pushbutton and potentiometer. Then it updates the light pattern accordingly. The pushbutton is for switching the pattern, and the potentiometer changes the speed or the color of the display. I am exploring the FastLED library for the first time and I am really amazed by the light patterns one can make using it. I will definitely be using it for future projects.

Thanks for checking out my instructable!

Faux-Real Contest

Runner Up in the
Faux-Real Contest

Share

Recommendations

  • Classroom Science Contest

    Classroom Science Contest
  • Woodworking Contest

    Woodworking Contest
  • Fandom Contest

    Fandom Contest

44 Discussions

0
None
spicychurro

13 days ago

Hello again!
I finally got around to making the matrix but I was unable to have the light travel as far as your did in the test, even after following all of the instructions. Do you have any advice on how to fix the issue? Also, when you cut the glue sticks, the instructable says 17mm, did you mean 17 cm?

3 replies
0
None
jbumsteadspicychurro

Reply 13 days ago

Thanks for catching my mistake: I cut them to 17cm.

I'm sorry to hear you are having some light propagation issues. Are you connecting the LEDs to the main power supply? If you just use the 5V from the Arduino powered by USB, then the LEDs will not get as bright because the LEDs can't draw enough current. The problem may also be the type of gluesticks. If they scatter the light too much, then the light won't propagate as far along the gluesticks. The more transparent the gluesticks, the less they scatter light and the farther the light will propagate down the gluesticks. I used Dewalt gluesticks.

If it isn't the gluesticks or the power supply, then you can always cut the gluesticks shorter. You will have to modify the length of the plexiglass though. I hope this helps! Let me know if you figure out the problem.

0
None
spicychurrojbumstead

Reply 2 days ago

Heads up, I ordered the glue sticks from the link for the glue sticks they are perfect in size and dimension but they have a yellowish tint and they barely carry the light.

0
None
jbumsteadspicychurro

Reply 2 days ago

I'm sorry to hear that they are still not working. I had a problems getting consistency with the gluesticks too. My last suggestion would be to try Arrow gluesticks. It may be worth going to Home Depot to check how they look before purchasing. Also you could reach out to kiwigrinder to see which ones he used for his project.

Thanks for catching my mistake, but I think there is still a mistake in your drawing. The pin floats when button is not pressed and connects to ground when pressed. The correct diagram is shown here.

schematic.png
0
None
spicychurro

8 weeks ago

After seeing this, I needed to make my own version ASAP! This has to be one of the coolest instructables post I have ever seen. I have all the pieces to make my own now and I'm about to start but before I do, I have a question. How did you connect the nano to the upper set of LED's? I understand the bottom half but not the top. I would love the help!

1 reply
0
None
jbumsteadspicychurro

Reply 8 weeks ago

Thanks for your compliment! Of course, there is a cable that runs down the middle of the device. In some of the photos, you can see the hole for running the cables down in the LED mounts.

0
None
merictaylan

3 months ago

This looks magical :) I really like the effect - the 'ible is also very easy to understand. Voted!

1 reply
0
None
asaneie

3 months ago

hi
can you provide us Corel draw type file or dxf. ?

1 reply
2
None
HelderC16

4 months ago

Nice work :) Any chance to convert it to stl so we can 3d print it ?

3 replies
0
None
jbumsteadHelderC16

Reply 4 months ago

I uploaded STL files for all the parts in Step 3. I am unsure how well the joints will work if they are 3D printed. Do you have any idea how to handle the plexiglass?

0
None
HelderC16jbumstead

Reply 4 months ago

Thanks for that. If i go ahead with the project I suppose i´ll just get it cut too size. I have a shop that works with plexiglass close by.