Last chance to enter The Hackaday Prize.

Ambilight clone built from Arduino and ShiftBrite modules

[Don] put together a guide that will help you build your own Ambilight Clone for about $40 plus the cost of an Arduino. He’s using it with the HTPC seen above, and utilized modular concepts in building it so that you can easily disconnect your Arduino board when you want to use it for prototyping.

For RGB light sources [Don] grabbed six ShiftBrite modules. These are fully addressable cascading modules which make for very easy hardware setup. Instead of buying a driver shield he built his own using an LM317, heat sink, and wall wart to source enough current to drive all of the modules.

We really enjoy the mounting scheme used. Each module is attached to a piece of acrylic which is then mounted using the standard threaded VESA mounting holes on the back of the monitor. As with other Ambilight clones this one uses the Boblight package to get color information from the video as it plays.

Comments

  1. defyboy says:

    Another nice clone, I still however would like to see a computer independent implementation of one.

    I have 3 LCD TV’s of varying ages all of which have composite A/V output, perhaps there is some simple processing that can be done on this port.

    • I know that boblight supports V4L devices, so it would be possible to have a small PC with a composite capture card that can take this data, process it, and output it to a rig like mine.

      I’m not sure the Arduino has enough processing power to decode composite in a way to get this data, but maybe the new ARM-based Arduino devices will have sufficient power to do so.

      • jjrh says:

        Main issue for me is that as far as I know there isn’t any linux friendly HDMI input cards. I would love to drive my Ambient lights with the source from my ps3. (i’m using boblight)

    • that1guy says:

      Composite would be very hard. VGA is probably an easier bet. I read an article that described a VGA-based board like this. Basically you need a sync separator to drive timing, and you need 3 ADC chips with 8-bit or more of parallel output, one for each color channel RGB. Then you need a micro that can use the timing information and sample the ADC values at the correct time for the edges and top of the screen. It’s going to be a fairly involving project, and you’ll still only end up with VGA input, which is obviously less ideal than HDMI or something else.

    • ScottInNH says:

      Want to read composite video from an Arduino?
      Here ya go:
      http://nootropicdesign.com/ve/

      I have not tested this, but it looks like the way to go.

      For purposes of sampling color values in an image range, composite is just fine. The Arduino’s output “display” is only a few LED pixels…

  2. Nick Scott says:

    How about taking the composite output of a TV, using a USB capture card, and feeding it into a Beagle Board, or Raspbery Pi board, rather than requiring the media to be played back from a PC.

  3. Mulvane says:

    To avoid the high amp draw, I split power when I use these and try to string no more than 2 on the same power injection line. Since he did a top and bottom row, I would think sep power for both would have been fine though and easy enough to implement.

    • That could be a solution, but since the total maximum power draw is 60mA/LED and I’m planning on having a total of 8 on the chain when I’m done, .5A at 8V is not very much power, so I did not see a need to split power lines and use 2 wall warts and potentially build 2 power regulators. If we were talking about pushing 3A to a chain of LEDs, I would consider doing something differently.

  4. macegr says:

    Where are you guys finding these TVs with composite outputs? Yes that would be an ideal solution, but I’ve only seen TVs with composite inputs only. Maybe a cable box or DVD player would have a composite output that is always on regardless of whether HDMI is being used…not sure.

    • LoveMHz says:

      More than likely cable boxes and possible DVD/Bluray players. I know that my cable box can output in HDMI and composite at the same time.

    • Bill says:

      Would have to look at my modern TV, but my 8 year old Phillips flat tube had a composite out. It would down-convert s-video and component inputs (non-HD). Made it easy for dubbing to a composite only VCR.

    • Bryan Thompson says:

      I’ve not seen a TV with composite (or otherwise) output. If we didn’t need it to work with over-the-air signals being decoded by the internal tuner, it might be possible to tap the composite input and then post-process it.

      Most people are going to want to use HDMI inputs, not composite. If you need HDCP support (for HD playback from a PC or ???), it won’t be easy to “tap” that signal between the vidcard and TV.

      • ScottInNH says:

        “Most people are going to want to use HDMI inputs” @Bryan Thompson

        No – think this through.

        First, most devices that offer an HTMI signal – your cable decoder box or Playstation 3 – it is only going to have ONE HDMI output.

        Give that HDMI output to something like this, and where are you going to get your TV signal from?

        Additionally, the LED matrix is sized at 3×2 pixels: all formats will be complete overkill as an input. There will be some people who do not understand that and want to use HDMI anyways, sure, but I would not champion for them. :)

  5. kuku says:

    Yot can get the composite out from the euro scart connector

  6. jjrh says:

    (for some reason I couldn’t hit reply)
    @ScottInNH

    Yes, most devices only have one output, but HDMI spliters do exist(though some what expensive). The real issue is from what I understand there doesn’t exist any HDMI input cards that work in Linux.(if you know any please link them!)

    Main thing I want to hook up to boblight is my ps3, and the PS3 only allows one output choice. (either composite video, or HDMI)

    I don’t have any other HDMI devices, but I suspect it’s the same issue.

    The best solution I can think of is doing something like spliting the HDMI, then using HDFury to a PC input card.

    ————————————————–
    On another note, I’m wondering if anyone has written any code to use their ambilight systems to sync with music? I briefly looked around to see if there was any python modules one could use to capture and process sound coming from alsa but I had no luck.

  7. ScottInNH says:

    @jjrh

    HDMI splitter. Google on it – lots of people agree it’s the only way to get dual video (mirroring) from a PS3. You may also need to get something to convert HDMI to composite, for this HAD method.

    I would not go with a HDMI video capture solution (unless you want just video capture also). If you run your primary HTML source into a PC and then try to watch it realtime, it may or may not have sync issues. At least by splitting the signal, you avoid any possible latency issues. But that’s just me, I am a cranky old man.

    • Bryan Palmer says:

      Thanks for the tip Scott. I had been looking for a way to split the HDMI signal from my PS3 and I was able to find a good solution. One issue I ran into however was that my HDMI cables were not good enough to handle the split so I had to swap them with lower gauge cables.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 91,130 other followers