Fiber Optic and LEDs - a Wall Decoration

19,040

398

37

Introduction: Fiber Optic and LEDs - a Wall Decoration

I'm sure many of you saw decorative fiber optic lamps appear a few years ago. I think it was the first widespread use of optical cables for decoration. This was mainly due to the fact that these fibers began to be produced from a material that was much cheaper and easier to handle than glass: plastic. And not just any plastic, but a very transparent one from the PPMA (acrylic) plastics family. Fibers made of this plastic are not brittle, are very easy to bend and they are cheap.

Then there were more and more uses of these fibers: decorative lighting of pools, gardens, houses, there are thousands of projects on the Internet about star ceilings or floors illuminated with fiber optics, fiber optic wearables, fiber optic fabric and many others. These projects uses the so-called end glow fibers, which conducts light from one end of the optical fiber to the other end with as little loss as possible. There are also the so-called side glow fibers that allows light to pass through the optical fiber. They appear in projects such as: decorative lighting of car curbs, furniture, architectural elements, performance halls, just to name a few.

I found a lot of information about the different types of optical cable in this article on instructables, I invite you to read it if you want to know more about plastic decorative optical cables.

In my project I used 3mm side glow optical fiber, these fibers have WS2812 programmable LEDs attached to the ends, and these LEDs are driven by an Arduino Nano. I mounted the pieces of fiber optics in some frames printed on a 3D printer which I mounted on an MDF board. It turned out, in my opinion, an easy to make, cheap, beautiful and very interesting decoration.

The resemblance to these projects:

is not accidental, I was inspired by them but I wanted to make a much simpler, much easier and much cheaper project.

Step 1: Materials, Components

  • PMMA side glow fiber optic cable 3mm thickness approximately 20m;
  • 216 WS2812 LEDS, from a 60led/m self-adhesive LED strip;
  • Arduino Nano microcontroller;
  • 5V/8A power supply;
  • 5.5mm DC jack with cable;
  • 3D printed parts: body, cover, fixing parts, supports, fiber optic cutting template, Arduino Nano enclosure (based on this enclosure);
  • MDF board, natural color, 800mmx800mm with 6mm thickness;
  • Some M4 screws (I had a bunch with 50mm length), M4 nuts and washers;
  • Wires with different colors for connections;

Fiber optics can be quite expensive if you buy them locally, I spent about $130 on 20 meters, if I had ordered from China (and if I had waited for delivery for at least a month) I would have spent much less.

From the strip of LEDs I cut pieces of three LEDs/piece, and I used 8 pieces in each module, so a total of 9 modules 3 * 8 * 9 = 216. You can see this also in the electronic diagram at the next step.

You can find the components to be 3D printed on Tinkercad.

I ordered the MDF board online, I also gave them a template in svg format to make the holes for fixing the modules and support elements, I attached this template below.

Step 2: Schematics

Ultra simple schematics!

Step 3: Construction

The nine modules that make up the decoration consist of nine bodies in which the LEDs are mounted and some parts with which I fixed the modules to the MDF board. So I started the construction with the printing of the module bodies.

Because I used a layer height of 0.3 mm when printing and because I used PLA (which tightens a little when cooled), the 3mm holes in the body where the ends of the fiber optic pieces are inserted must be widened very little, I did this operation manually with a 3mm drill.

Then I made the soldering of 24 LEDs (8 groups of 3 LEDs each). I removed the protective foil behind a group of 3 LEDs and, using the body guidelines, I adjusted the LEDs as precisely as possible next to the 3 mm in holes.

I started this operation near the hole where the connection wires enter and I ended up in the same place, Data IN ( DI ) from the LED strip is the green wire, Data OUT ( DO ) is the blue wire, and the red and black wires are 5V plus respectively Ground exactly as in the photos above. It is good to check before mounting/fixing the LEDs (with a test program) if they all work alright (I have encountered defective LEDs but also LEDs where a color LED or even two do not work).

Below is the test code I used.
#define FASTLED_INTERRUPT_RETRY_COUNT 0
#include "FastLED.h"
#define LED_TYPE    WS2812B
#define DATA_PIN    3
#define COLOR_ORDER GRB
#define NUM_LEDS    24
#define BRIGHTNESS  160
CRGB leds[NUM_LEDS];
void setup() {
	delay(1000);
	Serial.begin(115200);
	LEDS.addLeds<LED_TYPE, DATA_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalSMD5050);
	LEDS.setBrightness(BRIGHTNESS);
	Serial.println("FastLed Setup done");
	fill_solid( leds, NUM_LEDS, CRGB(0,0,0));
}
void loop() {
	for( int i = 0 ; i < NUM_LEDS; i++) {
		leds[i] = CRGB(200, 200, 200);
		FastLED.show();
		delay(300);
		leds[i] = CRGB(0,0,0);
		FastLED.show();
		delay(50);
	}
}
If one or more LEDs are not lit up at all or are not lit up white there is a problem with that LED or LEDs For the tests I used an Arduino Nano module mounted on a breadboard as in the photo.

After testing the LEDs the next step is to install the pieces of fiber optics in the bodies. I chose (as you can see in the photos) to join the groups of three LEDs on the left on one side, right on the opposite side and vice versa with pieces of fiber optics with different lengths. Thus the fibers intersect randomly and look quite good. I cut the fibers with a template and a good quality cutter, because it is necessary to make the cuts straight, perpendicular to the length of the fiber. So the ends of the fibers (when inserted through the 3mm holes of the module body) are placed very close to the surface of the LEDs. In this way the transmission of the light from the LEDs to the fiber is done with small losses. It is not necessary to glue the fibers in the body, the 3mm holes do not allow the easy exit of the fiber from its place, so even through this the construction is simple.

While I finished with the nine modules I printed the MDF board support parts and the module fixing parts. I attached the support pieces them to the MDF board. The 50mm screws were too long so I cut them with a universal mini cutter ( dremel like tool ) to a length of about 20mm. Next, I painted the board, I used white acrylic paint.

After the paint has dried, I mounted, with the help of fixing parts, the nine modules on the MDF board. I hot glued the Arduino Nano module with the connection wires (placed in the 3D printed enclosure), on the back of the board and made the rest of the connections according to the electronic scheme, of course, also the 5V power connections. In order for the connections to be more "organized", I used some wire clips, you can fasten them with screws to the mdf board, I glued them to the board with hot glue.

If you want you can do this mounting on a new placed drywall, hiding everything behind it.

Upload the desired program to the Arduino Nano module (in the next step I will present several program variants to choose from), try if everything works correctly and put the covers on.

I chose the place where I will hang my decor and I hung the installation on a screw firmly fixed into the wall.

Done!

Step 4: Software

This wall decoration does not look like any standard application in which LED strips are used. But even so, trying different simple examples and demos of the FastLED library, almost all look very good. Such demos, I have taken from the FastLED's github examples and from Andrew Tuline FastLED-Demos github page but of course I have adapted for the decoration. The ones I personally liked the most can be found below in the video.

The adaptation of the programs consists only in changing the initialization of the LED array ie the total number of LEDs, the type of LEDs, the control pins and the initialization of the LED strip, something like:

//...
//#define DATA_PIN    11
//#define CLK_PIN     13
//#define LED_TYPE    APA102
#define LED_TYPE    WS2811
#define COLOR_ORDER BGR
#define NUM_LEDS    216
#define BRIGHTNESS  160 
//...
struct CRGB leds[NUM_LEDS];
//....
//in the setup() function this
FastLED.addLeds<LED_TYPE, 5>(leds, 0, 72).setCorrection(TypicalSMD5050);
FastLED.addLeds<LED_TYPE, 4>(leds, 72, 144).setCorrection(TypicalSMD5050);
FastLED.addLeds<LED_TYPE, 3>(leds, 144, 216).setCorrection(TypicalSMD5050);

You can easily adapt other examples.

Loading them into the Arduino Nano module is particularly easy, there are a lot of examples here on instructables and on the net so I won't insist on it.

It is preferable not to exceed the value of brightness of 160 (as in the code above). The 216 LEDs at maximum intensity and white color can consume approximately 216 * 0.06 = 12.96 A so the 8A power supply will not be enough. At 160 intensity the current consumed would be approximately 216 * 0.06 * (160/255) = 8.13A. Considering that the animations I used never turn on all the LEDs at maximum intensity, the 5V/8A power supply should provide enough power. I had no problems with overconsumption... In addition in some examples FastLED's "setMaxPowerInVoltsAndMilliamps" function is used. Because the number of LED's (216) is changed and is quite high you must change also the volts and milliamps values to something like:

#define VOLTS           5
#define MAX_MA       7000
//...in setup() function
FastLED.setMaxPowerInVoltsAndMilliamps( VOLTS, MAX_MA);

Enough with the words! Below you can follow the examples in action!

The *.ino files that I uploaded to the Arduino Nano for the the corresponding effects from the video.

Step 5: Alternative Constructions

I don't even know where to start because there were so many construction and implementation variants I imagined based on this project 🙂.

First of all, the fibers can be arranged in a more orderly way as in the graphics below.

Bodies don't have to have a square shape, do they?

They can be hexagonal

triangular

or even some voronoi shapes

In the case of perpendicular fibers, the fibers can be woven as in a material or the bodies can be redesigned so as to allow the fibers to overlap.

Also here I would mention that I thought about the possibility of using a LEDstrip of 90 LEDs/m and to put in bodies 15 fibers vertically and 15 horizontally so as to make a… WATCH! 🙂 It would be kind of like in the rendering below.

The idea would be that the intersection of the 2 optical fibers lit in red be the hours, green the minutes and blue the seconds. But I'm still in the design phase...

Anyway, you should know that it tempts me (I already have the strip of 90 LEDs/meter 🙂).

A friend saw the modules while I was testing them and told me that even a piece would be beautiful as office décor and my nephew thought that a wall full of these modules and some sound reactive light effects would be great in a modern club or restaurant.

Quite a few options 🙂.

Step 6: A Few Concluding Words

I have to admit that I really like how the project came out. And the people I've shown it so far liked it as well. So I hope that my project will arouse your interest too and I hope that you will find some ideas about how to use these decorative plastic optical fibers in your future projects.

I am waiting for your reactions, your questions and, as far as I can, I will answer them.

I can't wait to see your projects!

Plastic Contest

Second Prize in the
Plastic Contest

Be the First to Share

    Recommendations

    • Reclaimed Materials Contest

      Reclaimed Materials Contest
    • Hide It Challenge

      Hide It Challenge
    • Paint Challenge

      Paint Challenge

    37 Comments

    0
    jpinto14
    jpinto14

    Question 2 months ago on Step 5

    What is the finished outside dimension of a single square PLA Frame?

    0
    andrei.erdei
    andrei.erdei

    Answer 2 months ago

    Have you checked the components Tinkercad link?
    Guess not...

    screenshot.png
    0
    jpinto14
    jpinto14

    Reply 2 months ago

    Thanks for the clarification

    0
    masoud256
    masoud256

    5 months ago

    It's Amazing!
    Thanks for sharing.

    0
    andrei.erdei
    andrei.erdei

    Reply 2 months ago

    Thank you :)

    0
    joeypomeroy
    joeypomeroy

    Question 8 months ago

    Could some possible post a diagram of what each of the mounting parts are for? the only one i know is the pieces that attach the frame to the mdf and the cable management clips, but everything else is a mystery?

    0
    andrei.erdei
    andrei.erdei

    Answer 8 months ago

    I'm honestly sorry if I wasn't clear enough in the explanations. I always tend to forget things because I don't realize that what is clear to me for others is not so. So I will try to explain in more detail the parts you find on tinkercad:
    - the yellow ones are components that form the main part that contains the LEDs, the big one with channel in the middle is the part where the LEDs are mounted, the big but flat one is the frame cover, the small piece with two holes fixes the screw frame in the upper part and through the other hole 4 wires pass the supply wires, the data in and the data out and the other piece with one hole only fixes the frame;
    - the green ones are some pieces that distance the mdf board from the wall, but the longest one also has the role of hanging on the mdf board;
    - the red one is a small piece, a template, with the help of which I cut the optical fibers;
    - The blue one is cable management clip as you well guessed
    - the pink and the gray are the base and the box cover for Arduino Nano.
    Did I clarify things a little?

    0
    hstephane59
    hstephane59

    8 months ago on Introduction

    Hi andrei, I tried to do the assembly with the Arduino pro mini 5v board but it does not work.
    I connected on the Arduino uno R3 board with the same program and there it works!
    Do you have any idea of this dysfunction? I think I have tried everything.
    However, the program uploads well to the arduino pro mini card because I added code to flash the led on the card and it flashes.
    If anyone knows the solution, I'm a taker.

    0
    andrei.erdei
    andrei.erdei

    Reply 8 months ago

    Hi
    The fact that your module can load a program so that the led on board flashes does not mean that the digital outputs of your module are fine, there is a great chance to have a faulty module... I'm sorry I have no other explanation.

    0
    joeypomeroy
    joeypomeroy

    Question 8 months ago

    Could you possibly post a file for a cnc router to use for the board that you mount on? ie: f3d,3dm, stp or iges?

    0
    andrei.erdei
    andrei.erdei

    Answer 8 months ago

    Hi
    At step 1 "Materials, Components" I have attached the SVG file of the holes template of the board. Have you noticed that? Sorry maybe I have not used a meaningful name. Anyway, you can download it and transform it to any format you want.

    0
    SageCrispin
    SageCrispin

    9 months ago

    Apologies if I missed it, but what are you using for the difusion panels over the fibre?

    0
    Herzberg
    Herzberg

    11 months ago

    This is great - any way to get a more detailed wire schematic?

    0
    andrei.erdei
    andrei.erdei

    Reply 11 months ago

    Hi
    What are the details that would interest you?
    I ask this because it seemed redundant to me to display in the diagram all the 24 LEDs from a module. Or is it another detail I missed?

    0
    Herzberg
    Herzberg

    Reply 11 months ago

    So each 24xWS2812 is for a frame and I need 24 LED per frame and 9 frames.

    LED_Frame.001.jpeg
    0
    andrei.erdei
    andrei.erdei

    Reply 11 months ago

    Yes, that's exactly how the 24 LEDs are mounted.
    Just a little remark. As I wrote in the article, there are two holes in the upper part of the module body, one hole is for fixing the body to the MDF support and through the other hole enter the two power wires and the DataIN and DataOUT wires as in the attached drawing (where + 5V is red, Ground is green, DataIN is black and DataOUT is blue).

    drawing.jpg
    0
    jamesberg4853
    jamesberg4853

    11 months ago

    Regarding the light fibers, I was wondering what the smallest radius bend that could be made cold forming before breakage. Can the fibers be bent to a tight corner by applying heat?

    I realize that a tight bend might possibly reduce light transmission to some degree, yes?

    0
    andrei.erdei
    andrei.erdei

    Reply 11 months ago

    Hi
    When we talk about decorative optical fiber we must keep in mind that it is made of plastic. This means on the one hand that it can bend quite a lot but on the other hand it means that it is sensitive to heat. Also We must not forget that by construction the optical fiber has two component parts: the middle part of transparent material and a thin reflective coating and by heating we will surely destroy this compound. I tried fiber from several manufacturers and I must tell you that there are differences between them in terms of malleability, some are stronger others softer and implicitly differ the bending angle. But one thing is for sure, the fiber can bend quite a lot without losing its optical qualities, as seen in the photo. But avoid heating ...

    bend.jpg
    0
    StefanB3
    StefanB3

    11 months ago

    Impressive. I think the category is not the best for it. I think it is easy to do without 3d printer. (I mean with some aluminum profiles.) Is there transparent PLY? Maybe it would be nice to try to print light paths with transparent filament. https://www.stratasys.com/explore/blog/2020/can-you-3d-print-plastic
    Mixing colors in fiber is great, gorgeous, nifty...

    0
    andrei.erdei
    andrei.erdei

    Reply 11 months ago

    Thank you for you appreciation!
    I would like to comment a little on what you wrote.
    I think that side glow fiber optics is the best choice for such a project because it has the best optical properties (transparency, reflection, refraction). Any other material will be worse from this point of view, but you can try with 2.85 mm transparent filament or as you wrote paths printed with transparent filament or even slightly polished round acrylic bars (you can also bend them). So you can try things ... But, in my opinion, nothing surpasses the quality of plastic fiber optics.