Go Down

Topic: Yet another Ambilight, Arduino Micro, custom strips for Raspberry Pi or PC (Read 2191 times) previous topic - next topic


Here is my second - better - version of Ambilight.

The system is running on custom made single sided PCB board with Atmega 32U4 (Arduino Leonardo, Arduino Micro) with a few add-ons.


Two USB ports:
- one is connected to the computer for receiving data (atmega 32u4 has build-in USB)
- second is optional and is connected to the TV USB port and its only purpose is to monitor if the TV is ON or OFF. This "sense" is sparated from the rest of the circuit through optocoupler - just in case (none of US wants to do any harm to their telly)

12V barrel socket:
- whole system is powered from 12V/3.5A adapter and 7805 linear voltage regulator is on the board to provide power for the MCU. The PC USB socket is not powering the system at all and is connected only to VUSB on the MCU. Small solder jumper is added to use power from USB for programming
- There is a small P-FET that is added as a reverse polarity protection

6 mini DIP switches:
These switches has following functions:

When the first switch is ON, device go into the TEST MODE.  Switches 2,3,4 are switching on Red, Green or Blue colour on all strips for easy installation and check of faulty LEDs, switch 5 will be cycling through each strip individually. I found it very handy during the Installation.
When the first switch is OFF, device is in normal operation mode and switches has following functions:
Switch 2 : TV sense Enabled / Disabled (when enabled - strips are lit only when the TV is ON)
Switch 3: Brightness 100% / 50%
Switch 4: Recalculate function (It will take data for each channel and recalculate the colours so one of them is always 100% bright and others calculated accordingly) this will make the same nice and bright effect on Raspberry Pi or boblight-X11 as you would get with boblight add-on in XBMC, without any hassle
Switch 5: TV backlight - turn on constant white light or true colour moodlight (set by switch 6) if the TV is ON, but no valid serial data are being received (just watching the telly)

LEDs for:

- 12V power
- PC connected (ON)
- TV connected (ON)
- Serial data (LED1)
- Function active(LED2 & 3)
- System running & Brightness selected (LED 4)


16 strips are made on one 16x10cm single sided PCB board.
6 LEDs on each strip are controlled by  WS2801 LED driver (12VDC, 2 rows by three LEDs)
that gives 2x20mA (40mA) / colour so the WS2801 is connected as constant voltage (up to 50mA/colour).

7 strips on top, 7 on bottom, 5 left & 5 right = 24strip x 6LED = 144RGB LEDs used
which gives at full power (all white) power consumption slightly less than 3Amps (2.88A)

YouTube: http://www.youtube.com/watch?v=zAZp7CPxEYs

Schematics, layout, eagle files, arduino code + Raspberry Pi / Ubuntu install script and more details:


Hope you like it :)

Go Up