Introduction: Simple and Cheap DIY Interactive Ambient Background Lighting.

Picture of Simple and Cheap DIY Interactive Ambient Background Lighting.

This instructable will show you how to make a simple and cheap atmosphere background lighting system for your PC!
This simple system can be used with the AtmoWin software, or using the AtmoLight plugin in VLC (media player) , it connects to your PC using the standard USB connection on your arduino.
It has only one channel, but it still provides a nice effect.

A video of it in action:

View on youtube

This could be expanded to two channels, for more info see the last step.

Step 1: Parts

Picture of Parts

You will need:
- An arduino
- 3x 2k2 resistors
- 3x an NPN transistor, capable of switching 12Volts (I will be using a 2SD1062)
- A 12Volt adapter (wall wart)
- A barrel jack
- A 12Volt RGB (common anode) LED Strip (I will be using this one)
- Header pins
- Some prototyping board (I will be using some perfboard)

Step 2: Schematic

Picture of Schematic

As you can see, the schematic is quite simple, it's just the same circuit three times, one time per color.

Step 3: The Hardware

Picture of The Hardware

Cut a piece of perfboard so it covers all the pin headers on the arduino, make sure the holes in the perfboard line up with the holes in the headers.
It should be about 45 by 52 mm, leaving you with a grid of 17 by 20 holes.

Start assembling the circuit, I have added a picture showing how I built the circuit on my piece of perfboard.
All the components are on top of the board (the side without the solder rings) , the blue lines are the connections on the underside of the board.
If you are using a different transistor, make sure it has the same pinout as mine (Base - Collector - Emitter) , otherwise you will need to build the circuit differently.

If you are using the same LED strip that I am using, you can cut the strip into 6 smaller segments (on the indicated lines) , you can then add some wire between each segment, which makes it easier to position them.

Step 4: Software Part 1: Arduino

This is the software that I wrote for the arduino.
I'm sure it could be done a lot better, but hey, it works!

Open up the attached sketch in the arduino IDE and upload it to your arduino.
This system only supports one channel, by default this is the sum channel, to change this find the following lines near the bottom of the sketch:

analogWrite(RedPin, RedSum); //change to RedLeft for left, RedRight for right, RedTop for top or RedBottom for bottom
analogWrite(GreenPin, GreenSum); //change to GreenLeft for left, GreenRight for right, GreenTop for top or GreenBottom for bottom
analogWrite(BluePin, BlueSum); //change to BlueLeft for left, BlueRight for right, BlueTop for top or BlueBottom for bottom

All the information you need is right there in the comments.
For example, if you want to use the top channel, change it to:

analogWrite(RedPin, RedTop); //change to RedLeft for left, RedRight for right, RedTop for top or RedBottom for bottom
analogWrite(GreenPin, GreenTop); //change to GreenLeft for left, GreenRight for right, GreenTop for top or GreenBottom for bottom
analogWrite(BluePin, BlueTop); //change to BlueLeft for left, BlueRight for right, BlueTop for top or BlueBottom for bottom

This could be expanded to two channels, for more info see the last step.

Step 5: Software Part 2: AtmoWin

Picture of Software Part 2: AtmoWin

In this step I will explain how to set up AtmoWin for this DIY interactive background lighting system.
If you want to use your interactive background lighting system all the time, use this, if you only wish to use it during movies (which I recommend) , see the next step.

If you don't have AtmoWin, you can download it from here , download links are at the bottom of the page.

One thing you will notice, is that most of it is in german, if you don't know german this can be a problem, but fear not! I will explain everything you need to change here and if you need more info, just ask!

First of all, click "Gerät konfigurieren...", you will get a new window where you can select your arduino's COM port.

- "Gerätetyp:" set this to "Atmo-Classic"
- "aktiver Effekt:" set this to "live Bild"
- if you want to use the sum channel (default) , make sure to semect "Summenzone"
- "Anzahl Zonen oben:" set this to 1 if you want to use the top channel
- "Anzahl Zonen Links/Rechts:" set this to 1 if you want to use the left or right channel
- "Anzahl Zonen unten:" set this to 1 if you want to use the bottom channel

You can use the button "auswählen" under "Feste Farbe" to test out the hardware.

The other setting don't have to be changed, if you have multiple monitors, select the one you wish to use for the interactive background lighting under "Quellmonitor:".

Step 6: Software Part 3: VLC

Picture of Software Part 3: VLC

The AtmoWin software is quite CPU intensive, I only use it when watching movies or tv shows.
If you also only want to use it when watching movies or tv shows, you can set up the AtmoLight plugin in VLC media player.

If you don't have VLC (you should!) , you can download it from the official site.

To set up the plugin for this system, start VLC and go to Tools > Preferences .
A new window will open up, in the bottom left corner, change "Show settings" to "All" , the window will change.
Click the little arrow next to "Video" and select "filters", on the right side of the window, you'll see a list, under "Video filter module " select "AtmoLight" , don't select it under "Video output filter module" or else you won't see the video anymore.

Now click the little arrow next to "Filters" and select "AtmoLight" .
- Set "Device type" to "Classic AtmoLight"
- Set "Serial Port/Device" to your arduino's COM port (you have to type this)
- Find "Zone Layout for the build-in Atmo" and change "Numbers of zones on top" , "Number of zones on bottom" and "Zones on left / right side" to 1 if they're not set to 1 allready, make sure to select "Calculate a avarage zone"

You shouldn't need to change any other setting.

Now if you open a video in VLC, your interactive background lighting system should work!

Step 7: Done!

Picture of Done!

Plug in the wall wart and connect it to the barrel jack (the one in your circuit, not the one on the arduino) .
Connect your arduino to your pc, fire up VLC or AtmoWin and you are ready to go!

Enjoy your simple, cheap DIY interactive background lighting!

A video of it in action:

View on youtube

Step 8: Possible Expansion.

It is possible to add a second channel to this system, the arduino has a total of six output pins that support PWM.
You can build the circuit again and connect the transistors to pins 3, 5 and 6 instead of 9, 10 and 11.
I have attached an alternate arduino sketch, by default it is set up to use pins 9, 10 and 11 for the left channel and pins 3, 5 and 6 for the right channel, you can change this easily by editing the 6 lines near the bottom of the sketch (see step 4 for more info) .


Gabse (author)2013-10-12

COOL!!!!!!! But is it also possible to connect it to the internal of the monitor (T-CON Board, ect.)?

bluem6 (author)2013-04-25

Will any Arduino work like the nano?

Roby91 (author)2012-04-04

Please, what's the name of that the schematic 3d generator software?

g0tmk (author)Roby912012-11-10

It looks to me like it could be

Killadobby (author)2012-02-06

Where exactly do you use the Arduino ? Is it between the PC and the perf boards(I am a tech newbie) ?

spiderstinger (author)2012-01-04

What does AtmoWin actually do? I am wondering if this works when watching TV with the TV'sl built in tuner. Does this only work with the PC?

It looks like AtmoWin is a Windows program, based on the name. Anyone try it in Linux under Wine.

Sorry for the barrage of noob questions.

fantasy2 (author)2011-12-10

Congrats, that looks really nice! I just started a crowd funding alternative for the people that do now know how to make one:

dtokez (author)2011-10-28

Cant seem to find those transistors either, any others that can be used?

ooh (author)dtokez2011-11-01

I did a search for 2SD1062 and found them on eBay from a store called "littlediode". Had them in a few days.

drabina (author)2011-10-21

For those still looking for replacement transistors, check out part # 526-NTE152 at Mouser.

drabina (author)2011-10-20

Any info on the substitutes for the 2SD1062 transistors?

hide98 (author)2011-09-25

Great instructable. I'd love to try it, but having a little trouble finding where to buy the appropriate transistors, even with the product number you provided. Did anyone have any success finding some online?

bummy1 (author)2011-09-02

Question? Which Arduino board to use? Will the mini work? I see a Mega, Mini, and UNO at DitenTec. And then do you just mount the led strips on the back of the monitor? I have limited experience but believe I can do it.
Thanks, Dave

yonsje (author)bummy12011-09-03

The mini will work but you'll need something like the Mini USB adapter to be able to connect it to your computer. I used a Duemilanove, this is basically an older version of the UNO.

joshua17ss2 (author)2011-08-20

finished making the system and tested it on my laptop, thanks for all the info. works perfect and looks awesome in person

yonsje (author)joshua17ss22011-08-24

Looks great!
You are even using the same futurama episode as me :)

joshua17ss2 (author)yonsje2011-08-24

yup had it sitting on the laptop.

I have run in to a small glitch i cant seem to figure out. I installed the finished board on my big tv and media computer ( which has an onboard vga, and an addon card (vga and DVI)) I am using the dvi out to connect to my tv. i switched the setting on the atmo program to that screen, and it work perfect, on the desktop matches the color of the folders and desktops, but when i launch vlc, (full screen or partial, the strip just sets to a white color, and dosent change,
Ive tried all the settings and still cant get it to work quite right for videos. it still works perfect on my laptop.

Any thoughs on why it would do this?

yonsje (author)joshua17ss22011-09-03

Weird, the only thing I can think of is to change the video output to DirectX and select you tv under "Display device"

rezonx (author)2011-08-13

Some pictures are missing ;(

wiisos (author)2011-08-02

Nice project! I have searched for days for something detailled like this! but I'm looking for DIY Ambilight with at least three channels. It's possible? and use this RGB Strip and arduino nano v3?

Anyway you have my vote and 5 stars.

yonsje (author)wiisos2011-08-02

You would need at least 9 output pins that support PWM, the arduino nano only has 6. It may be possible using the Teensy++ since it can be used with the arduino IDE and has exactly 9 output pins that support PWM, I'll look into it later since it would be a great upgrade for this project!

wiisos (author)yonsje2011-08-02

waiting... :D

yonsje (author)wiisos2011-08-08

I did some testing and it seems like it works, the only problem is that it doesn't seem to turn off the lights when you exit VLC/AtmoWin, I'm guessing it has something to do with the way the Teensy and the Arduino handle the serial connection, I'll have to do some more testing.

wiisos (author)yonsje2011-08-13

Nice! Keep it up!

shadow wave rider (author)2011-08-11

ohh. i love futarama. it is so totally awesome.

Mr Earl (author)2011-08-02

you could easily add more channels if you used one of these addressable rgb led strips:
It's one meter long and has 32 LEDs - so you could make 32 channels with one strip and all you need is two pins on the Arduino for clock and data. You also can daisychain them if you needed to (larger TV; just mor channels;...)

However, the whole strip can draw up to 1.8 amps (all LEDs whtie), so choose a power supply which can handle this amount of current.
I have tried to fade between different colors (max 2 subleds are on) and it was possible to run it from the 5V of the arduino which was powered by usb with no issues.

awesome project btw.

marcosgildavid (author)2011-08-01

Hi, I've seen on the DS site someone complaining about the green led being less bright than the red and blue ones. On the video you posted I also noticed that the scene where the doctor comes in should be yellow but instead it is reddish/orange, Is this a small bug or is the green led really an issue? Thanks.

yonsje (author)marcosgildavid2011-08-01

I haven't really noticed too much about this, but you can just change the whitebalance in the software so the colors look better.

marcosgildavid (author)yonsje2011-08-02

Thanks for the reply. This is a really nice project. Congratulations. ;-)

About This Instructable




More by yonsje:Simple and cheap DIY interactive ambient background lighting.Simple Mac prank using Arduino (Update 22/03/10)DIY Datalocker
Add instructable to: