Ambilight, 4-channels [Arduino Mega2560]




About: Computer Engineering @ASU in JO.

Ambilight is a an invention first made by philips , you can check this VIDEO for more info

check this live simulation if interested

with this instructable you can have an almost the same for your pc screen.

many methods can achieve this goal, explaned some easier and less components demanding methods here and here

previous ways allowed us to have only 1 or 2 channels

hold on .. what a channel ?

by channel i mean a section of the screen dedicated to be scanned and display it's average color on the rgb led strip attached to the pc screen .. in this tutorial , we are able to have up to 4 channels .. :)

let's head to ic's and microcontroller we need to use ..

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: Components Needed

1. Windows PC [tried on win8.1 64bit]

2. arduino mega , mega 2560 rev3 , with a usb cable ofcourse

3.wires, lots of em

4. +12v and a -12v, usually from the pc power supply it self since it allows getting lots of ambs no matter how much your leds are demanding

5. RGB LED STRIP, to be wrapped around your screen, it's length depends on the screen size itself

[im using common anode 12v+ rgb led strips , 60led/m , you can choose whatever rgb leds you need, but some modification will be required]

6. some solder to solder each channel of the rgb strip

7. two Darlington Array IC, Code Number ULN2003a

[used this ic because it will help us get red of 12 transistors into only a couple of ic's]

8. a mini breadboard or a soldering pcb , i would recommend using the mini breadboard

Step 2: The Dirty Work, Wiring and Leds Placement

you can use arduino jumpers which i recommend.

place your board and arduino behind your screen , for much less wiring.

placing the 4 led strips requires some consideration ..

i used a 4 corners method .. which will allow me to cover the whole screen .. on each quarter of the screen

but .. you can use 4 sides .. one on top , one on each side , one at the bottom..

or you can use two on each side with two on top ,half of the top each , the bottom isn't that important .. maybe

if you like you can use 3 channels if you don't have many led strips ..

if you will use only two or one channel i would recommend this tut HERE

now for the wiring

powering your leds on the common 12v+ from you pc power Supply

place the two ic's on the mini board, make sure they are on the separated pins of the board

connect your GND to each ic on pin named E on the ULN2003a IC Datasheet

if you placed your ic Horizontally , make sure the moon of the ic is on your left hand and the rest of it to the right

pin E is the first pin from the right on the bottom of the ic ..

now .. connect the PWM pins from the Arduino Mega to the inputs of the ic's .. which are located on the same side of the grounded pin .. from pin 13 to pin 2 ..

make sure to add some silicon to your wires and soldered pins on the leds .. they might easily break ..

you can also attach the arduino to the back of the screen along with the mini board .. just make sure to add some insulator surface between the sceen and the arduino, or you will damage the screen after a while ..

thats about all for the wiring ..

Step 3: Windows Software

connect your arduino usb to your pc ..

download the Arduino Software (IDE) then setup

download the Arduino Amblone Source Code

open the source code with arduino ide , select your board, com port, then upload it

if you didn't wire the led correctly , you can change the pin number on the source code then upload it again :)

thats all for the arduino

for scanning you screen, sending the average color of each strip

you have two options .. both are great , both have there pros and cons

Download Amblone Windows Software


Download Ambibox for Windows

trying both for quite some time now .. i would recommend Ambibox, specially if you will use a custom led placing ..

many other feature of ambibox for you to explore .. like the colormusic feature ..

setup you pc lient software and you are good to go .. :)

Step 4: My Results :)

Check This Vid on my Results

Step 5: Some Problems I Faced That Might Help You

1. using ambibox will allow to use playclaw for gaming and other exclusive full screen apps .. that never worked for me .. i started making apps go full screen but without being exclusive .. full borders only :)

2. sometimes .. on some arduinos .. for some unknown reason till now, you will have to lunch ambibox without being enabled .. wait for 3 led flashes then enable it .. every time you start the software .. :(

if you faced any problems please ask in the comments .. or contact the support of the amblone or ambibox developers ...

thats about all .. enjoy .. ^_^

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    25 Discussions


    2 years ago

    I really need help...

    I want to use Arduino Uno, LED Stripes with WS2812B and Ambibox to make the ambilight. I tried like 10 tutorials and always get problems with uploading the program to my arduino. There's no error in the program but nothing happens on the LED-Strip, beside the running project stops working. But every tutorial seem to work for everyone just me.

    It can't be a problem with wiring bc other programs are working.

    Did anyone also had this problem or knows where the problem could be?


    4 years ago on Introduction

    Thanks for Sharing ! Looks like enough Info that I may just build one too :D

    Is Four Ch the max the computer will process? or just the limitations of the Arduino Hardware? (PWM Channels)

    12 replies

    Reply 4 years ago on Introduction

    computers can process way much channels, it's the arduino mega limitations, 12 PWM pins , since we are using analog led strips ..

    another method i've been trying lately is by using the a digital led strip, such a strip would have 4 pins .. [ex WS2801] , 2 for +5v and gnd , the other 2 , are for data input , u have the ability to a color code to each pixel of the strip .. for ex, first led pixle white , the 2nd one blue , turn off the rest leds ,

    many project already built using those strip, i would recommend adalight for arduino uno, with ambibox, prismatik on pc .. :)


    Reply 4 years ago

    This, also recommend using fast led library + ambibox


    Reply 4 years ago on Introduction

    also , i've heard that it's possible to do pwm on a digital pin using SoftPWM Library, that would expand our channels , but i was always getting compileing errors :D


    Reply 4 years ago on Introduction

    some limits you might face such as the pc software, sadly isn't an open source, it doesn't allow more than 4 boxes to be scanned for amblone


    Reply 4 years ago on Introduction

    Just what I was thinking !

    Ok now i'm definetly making one :D I'll be sure to leave you an "I made it" post :P


    Reply 4 years ago on Introduction

    i believe it's a great tool .. but sadly no client software would support it yet , since the ambibox or amblone only provieds 4 channel max when going with the amblone arduino code .. :(


    Reply 4 years ago on Introduction

    yes you can. check out the amblone site for a modified arduino code :)


    4 years ago on Introduction

    Hi, first of all, sorry for my english.

    I v tried to make your ambilight system, but in vain. I m using a PC power suplly for -12V and +12V but when i connect everything all led are full on. the data sent by the arduino doesnt seems to have any effects on the led , Could it be beacause the power supply deliver to much current ?

    3 replies

    Reply 4 years ago on Introduction

    hi .. plz tripple check all your connection even if the power supply delivers lots of currents , it shouldn't effect the leds since they have built in resistors ..

    2nd things .. try disconnecting the arduino usb , are the leds still on ? and what color are they when they are full on ?


    Reply 4 years ago on Introduction

    i checked all the connection. Everything seems to be good. When the arduino is plugged all four strip led are full on and le unl2003 and the led strip getting super hot.

    When i disconnect the arduino only two led strip work and only one IC is getting hot. I dont understand what it could be


    Reply 4 years ago on Introduction

    it could be one of two things , the uln2003a .. make sure it's A, not the the uln2003 without the a, and the direction of the ic must be correct ..

    the 2nd thing you leds can be common anode or common cathode, we need the ones with common anode , which they all have the same 12v+ and 3 separate Grounds , one for each color ..

    please make sure of that , and make sure that your led strip is actually 12v, since you are saying they are getting hot , they could be 5v strips ..

    nothing helps .. then please take some photos in details and post them here if possible