Remote-controlled fiber-optic Ceiling Light with Arduino

By on August 22, 2011
Pin It


Mauro Alfieri, who wants to partecipate to our iniziative “TiDiGino Contest”, sent us his new application with Arduino to demonstrate his skills in this field: a Remote-controlled fiber-optic Ceiling Light.

Mauro decribes himself:
Today my work is focused on open-source systems, supporting networking (CCNA) and scripting language programming, in small and mid-sized companies that use Linux/Aix.
Since I was 10 years old, I started  mounting small electronic kits headed from my father and then – during my teens – by alone; recently I discovered Arduino that is for me the perfect combination in programming skills ( Bash, Csh, PHP, Perl, HTML, JavaScript, …) and electronics.
So I began to study and to use Arduino to control LED lighting: finally, I built my first project: this  Remote-controlled fiber-optic Ceiling Light.

The Project

The idea was to built a ceiling lamp that lights with a little surprise: a starry sky in my living room, even in the dark nights.
To achieve my goal I used a wood table with many holes with different diameters that house the optical fibers. The size of the ceiling lamp (90 cmx 60 cm) did not allow me to use a single bundle of fibers and this is the reason of the two beams I used, each of which comes with a LEDs illuminator as shown:

Each element is made with four LEDs connected in common anode way as shown in the figure:

The schematic with Arduino and its control circuit is shown in the figure above: it is a very simple circuit that I built on a breadboard. To control the high-brightness LEDs I used 4 transistors TIP122 whose base is driven with a PWM signal generated by Arduino. Each Arduino PWM output in connected to the each transistor base via a resistor of 1 kohm. The same type of LEDs are connected in series and hosted one in the first illuminator and the other in the second. The line is connected to the positive external power supply via a 470 Ohm resistor.
The transistor connected to the white LEDs is connected to pin 10 of Arduino, the TIP122 of the red LEDs to pin 9, the green LEDs to pin 6, that of the blue LEDs to pin 5.
Finally, the IR receiver (TSOP31238) is connected to the positive line of Arduino with a resistor of 100 Ohm and whose output is connected to pin 11.



I use a remote control from SAMSUNG whose signals, however, my library doesn’t recognize. So, to decode signals, I need to use decodeHash and appare functions.
By pressing button n. 1, red light starts fading.
By pressing button n. 2, green light starts fading.
By pressing button n. 3, blue light starts fading.
By pressing button n. 4, red and green LEDs light up in sequence.
By pressing button n. 5 green and blue LEDs light up in sequence.
By pressing button n. 6 red and blue LEDs light up in sequence.
By pressing button n. 7 red, green and blue LEDs light up in sequence.
By pressing button n. 8  all the red, green and blue LEDs light up.
By pressing button n. 9  the white LEDs light up.
By pressing button n. 0 or the OFF button on the remote control, all the LEDs turn OFF.

And here’s the lamp with white LEDs ON:


Download ZIP File Arduino Sketch
Download ZIP File Library


About Arsenio Spadoni

Journalist, Futura Elettronica Founder & CEO, Elettronica In magazine Founder & Publisher.


  1. Ryan

    April 4, 2012 at 3:45 PM

    Can you put a full parts list up? Also, did you build your illuminator?

  2. Andrew Kaelin

    February 7, 2016 at 12:32 PM

    Wow! This is Amazing.There was an overwhelming interest in our new Home Integration Lighting Controls and interfaces as well as our fiber optics and LED Products.We have enlisted hundreds of followers. Large home theater distributors, dealers, commercial and residential designers and architects among
    them. More info

Leave a Reply