DIY | Ambilight Using Arduino Nano




About: Hi there visitor! First of all thank you for checking out my profile! My name is Youri. I study Technical Computer Science in the Netherlands. I especially love the electronical part of my study. Since I l...

In this Instructable I will be teaching you how you can create your own (b)ambilight for under $40!
Keep in mind that the Ambilight will only work on a PC running the Bambilight software.

You will need the following components:

  • Individually addressable RGB LED strip - Available on Aliexpress
  • Arduino Nano
  • Mini breadboard
  • A few breadboard cables
  • 12V DC Power Adapter
  • Double sided tape
  • 4-5 Paperclips
  • Zip Ties

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Watch the Video Tutorial!

Step 2: Testing Your LED Strip

It would be a pain in the ass to remove the LED strip when it turns out one of the LED's isn't working. That's why it's a good idea to solder temporary wires to your LED strip and test it using your Arduino, the power adapter and the .ino file (can be downloaded in step 3). Upload the .ino to your Arduino. You don't have to configure anything yet. You should see multiple colors waving through the LED strip.

You can wire the LED strip using the image provided in this step.

My LED strip (link in parts list) uses the WS2811 IC to control 3 LED's individually.

Step 3: Mounting the Electronics Onto Your Monitor

Before sticking the LED strip to the back of your monitor make sure to clean it as good as possible.
To get rid of any dust I suggest using a fiber cloth.

Once you're sure the surface is clean you can measure the length of the LED strip by holding it next to your monitor and cutting it to the right size. Make sure the strip on the opposite side has the same length.
After you've cut all the pieces to the right size you can stick them to the back of your monitor. Because the glue usually isn't the best quality I suggest using some pieces of double sided tape to improve the stickiness of the strip.

IMPORTANT: Make sure the arrows on the LED strips circle around your monitor! If you mess this up you have to start all over!

Once the strips are in place you can mount the breadboard with the Arduino Nano to the back of your monitor. Make sure to mount it in a convenient spot, because you need to be able to plug the USB cable into your computer later on in this project.

Step 4: Soldering All the Electronics

To solder the LED strip I used a few paper clips and bend/cut them to the corresponding size.
After that I soldered them to the LED strips to connect them together. You could use some shrinking tube to prevent short circuits, but in my case I didn't need any. To make it look a little bit better I used a permanent marker to give the paper clip "wires" a black color.

Now connect the LED strip to the Arduino using the same schematic as shown in step 1. Plug in the USB cable, install the FastLED library and upload the code provided in this step into your Arduino.

You may also connect the power adapter now since we're done wiring.

Step 5: Configuring the Software

Download the Bambilight files (link in the introduction).

Open up the .ino file and edit the following lines to fit your situation:

#define NUM_LEDS 38
#define BRIGHTNESS 100

Now upload the file to your Arduino.

Open up Bambilight.exe located in "[Location you saved the Bambilight folder]\Bambilight-master\Bambilight-master\Binary".

Now configure it to your likings and test it using a test video like this one.

Once you're satisfied with the result you can minimize the Bambilight program.

Step 6: Sit Back, Relax and Enjoy!

And......... you're done! Now all that's left is to grab some popcorn and some soda and enjoy your favorite movies!

4 People Made This Project!


  • Indoor Lighting Contest

    Indoor Lighting Contest
  • Make It Fly Challenge

    Make It Fly Challenge
  • Growing Beyond Earth Maker Contest

    Growing Beyond Earth Maker Contest

79 Discussions


8 months ago

Is it possible to run the arduino alone, without an computer.


1 year ago

Hi and thank you for your working but when I have a problem with ino file. When I want to built the broject ı am taking no such file error for "#include "FastLED.h"". I can't find this file. Can you help me,please?

2 replies

Reply 1 year ago

I solved my problem :)


11 months ago

Hi, im working on a similar project, however a bit more extensive. I was wondering what refresh rate you get from this, and what gamma correction you have. I have implemented it myself but its quite hard to find anyone else that have done it, and how they have done it, if there is a better way or anything. Never the less hope to get an answer soon. And please do take a look at my project, still work in progress but it have come very far.

Thanks ^^


Question 1 year ago

Hi guys, thanks a lot for the article !

I tried to follow the steps but I get this error when uploading the code to the Arduino :

invalid conversion from 'byte* {aka unsigned char*}' to 'char*' [-fpermissive]

Apparently the issue is in the line : Serial.readBytes(buffer, NUM_BYTES);

Any idea ?


Tip 1 year ago on Step 2

I've noticed a big problem with your LED Strip that you've linked in your instructions. The fact that on this strip three LEDs are adressable as one group (in bambilight one 'spot') and not adressable for every single LED was not clear to me..

Maybe you should point the other users towards this problem and link an alternative LED Strip like this one:

I've ordered these now and hope I'll get it as nice soldered as my first try :D


Tip 1 year ago

Hey, thanks for the project. It's super cool and super easy to make.
I did it and I love it.

The only strugle I had is that I have 100 leds and when you start Bambilight the whole strip just freezes. So I looked through the .ino file and found small bug in the code:
if you change

uint8_t led_counter = 0;
uint8_t byte_counter = 0;


uint16_t led_counter = 0;
uint16_t byte_counter = 0;

everything works fine. (NEEDs TO BE DONE if you HAVE MORE THAN 85 LEDS in strip) !!!!!!!!!!!

and I was wandering if you can give the source code for bambilight, cause on my PC it often stucks on green colour, when you test the project on videos like you provided.

Anyways many thanks to you and keep on doing such grate thigs ;)


Reply 1 year ago

See my reply to "sfranch" above


1 year ago

Hi there, I need some help My led strip has 4 connection. How can I able to connect this strip with my arduino?? what will be the code,, please help. Thanks

here is the link...

1 reply

Reply 1 year ago

The LED strip you have will not work with program. They are what I call "DUMB" LED's. You need to purchase "SMART" LED's, WS2811, WS2812, etc. These LED's have chips built into them that allow programs to write to them and controll each LED seperately.


1 year ago

  • "The windows store netflix app (player components are visible to adrilight but the actual video is not, netflix in the browser works)"

1 year ago

Not working with Netflix on windows 10 (64bit) works fine for youtube and everything else.


2 years ago

Hi, i have managed to build this, but there is one problem, my led strip stays on even when PC is turned off or in sleep mode, please help mi to fix this issue.
Thank you very very much,

1 reply

Reply 2 years ago

You can just unplug the arduino or make a switch(sry for bad english)

paul julesa

2 years ago

Hello !
Great guide ! But I have a problem, the lights works fine, I can have the rainbow wave but bambilight (and ardilight ) don't work. When I check 'output led' it only stops the movements of the wave but the rainbow is still there..
Any suggestions ?


2 years ago

Hello, I am trying to build your system with some WS2812b 60 led per m.

I wanna do a setup for a 23'' screen. So I am estimating 2M max (120 led).

I found all the componants on (except the LED strip). Will this 12V 3A Power supply be okay? I am really struggling to find the right parts.

Also, I have a 42'' TV attached to another GPU on the same computer. If I want to do to the same project, I estimate 4m max of LED (240 LED). What kind of power supply will I need for it? Will the 12V 3A work with it too? Thank you


2 years ago


after connected everything right got the Leds working while unchecked
the "OUTPUT LED" in the software and when i do checked it the Leds
turns off..

whats the problem?