About Media Download Support
Download v2.0
ScreenBloom uses Python to grab the average color of your current screen and sends that value to your Hue Lights.
ScreenBloom approximates the effect of the Philips Ambilight TV line on any computer screen. Due to the limitations of the Hue bulbs, ScreenBloom's effect is designed to be a subtler, less immediate variant of Ambilight that is still plenty responsive.
A snapshot of your current screen is taken and converted into a list of RGB (red, green, blue) values for each pixel.

Each pixel is looped through and its R,G,B values are added to 3 running totals. At the end of the loop these totals are averaged to produce your screen's current average color.
Original Desktop Image Desktop Image Resized
Avg Color Extracted
Color sent to Hues

The computed RGB average is gamma corrected, converted to a CIE value used by Hue, and a command is sent to update the lights.

Pixels that are determined to be too dark are counted simultaneously. That final number is used to produce a scaled brightness value which raises and lowers your bulbs' brightness level accordingly.

The ScreenBloom UI Videos Note that many subtler color changes don't come through in video
Load More GIFs
Version 2.0 August 2016 Release Notes
- Added Update Buffer concept. Should solve reports of large delays between light updates. - Multi monitor support (Windows only). - Alternate black color to approximate off state. - Functionality to regenerate the config file.
Previous Versions
Latest Version
Have a question about ScreenBloom? Check out the FAQ below or send me an email directly
Think ScreenBloom is a cool app? Toss some beer money my way, if you'd like
ScreenBloom Error / Won't Start?
Sometimes the config file that ScreenBloom creates can get corrupted resulting in all kinds of nasty errors.

The first thing to try when solving any ScreenBloom problem is to regenerate your config file. You can re-create your config from any ScreenBloom page.

ScreenBloom Regen Config Button Check the bottom right section of the page
Big Delays?
Some users report large delays between light updates. CPUs running ScreenBloom at a high or variable speed can cause commands to be spammed at the Hue bridge too quickly resulting in a mini DDOS attack and slowdown.

Setting an Update Buffer can resolve the issue (located in the Update Speed menu).

You'll want to experiment and find the lowest possible setting that resolves any slowdown you might have.
DLL Error?
ScreenBloom might not start and complain about a DLL loading failure, which means ScreenBloom is looking for some DLL files that you don't currently have.

Installing Microsoft Visual Studio 2008 will register the DLLs you need.
Can I use ScreenBloom with videogames?
Definitely, but with one caveat.

Games need to be run in windowed mode to have their pixels parsed by ScreenBloom. Many games offer an official 'Fullscreen Borderless Windowed' mode which makes this process very simple.

For everything else there is a free program available. Windowed Borderless Gaming With this software you can turn any windowed application into a borderless fullscreen one. Perfect for ScreenBloom!
Can I access ScreenBloom from a mobile device?
Yes. ScreenBloom starts a tiny web server that hosts the application interface on your local host IP address in the format below:
When you launch ScreenBloom your default browser will automatically access this address in a new window/tab.

Simply grab the address from your browser's URL bar (I typically bookmark it) and head there on your mobile device - you'll have full control over the ScreenBloom process.

The web interface is fully responsive and very lightweight so controlling ScreenBloom with a phone or tablet is straightforward.
About Latency...
ScreenBloom’s update loop runs roughly every 100ms. Any lower and the potential for the Hue bridge to become overloaded with commands (and cause large delays) significantly increases.

100ms is fast but still latent enough to occasionally create perceptible delays when updating the lights. This is much more noticeable during very fast scenes and especially between drastically different color palettes or brightness levels. Setting a higher transition speed can help mitigate this effect.

Even so, 100ms is the best case scenario. Your network quality and CPU speed will further impact how quickly the update commands can be sent to your lights. You’ll need to tweak the program’s settings to best suit your individual setup.
What kind of resources does ScreenBloom consume?
The fully installed application takes up roughly 20MB of disk space.

While running ScreenBloom lives in ~16MB of RAM and uses just 1-2% of the CPU.
Some Colors Appear Washed Out
Not all Hue bulbs are capable of the same color spectrum. Some models can produce much more vivid greens than others, older generation Hues are less bright than newer iterations, etc.

ScreenBloom might sometimes parse a color from the screen that can only be approximated by the light receiving the update command.
What is this DOS-looking window?
ScreenBloom diagnostic console
This is the Python diagnostic console for the program's web server.

Sometimes useful error messages are output there but it can mostly be ignored.

The console is currently only in the Windows build and will be removed in a future update.