Philips Hue

Creating stunning visuals using Hue Entertainment


As many of you know, I updated the Light DJ apps earlier this year to support the new Hue Entertainment API. It took just over a month to recreate all of Light DJs 30+ effects in the new format for both iOS and Android. Today I'd like to delve a bit deeper into what it takes to write effects for Hue Entertainment and how you can integrate this new technology into your projects.

The starting place for any Hue developer is the Hue Developer Portal at Here you'll find all of the documentation on Hue APIs and guidance for application design. Once you create an account, you'll also need to accept the terms & conditions if you plan on using the Hue Entertainment Development Kit (recommended). The EDK handles bridge discovery & pairing, effect creation & rendering, and streaming to the bridge. If this all sounds complicated, it's not. Hue developed a Quick Start app that incorporates everything you need to start creating effects. (You'll get access to this once you accept the T&C).

Once you start the Quick Start app and pair it with your bridge you'll see two buttons for controlling the lights. The Randomize Lights button uses the legacy Hue API to set the lights to random colors. A typical legacy light command involves a target color and duration. For example, if a light is currently set to blue, you could send the bridge a command to set it to red over 3 seconds and the light will slowly fade from blue to red. If you don't have a need for high-performance or spatial effects this may be enough for your project since it's a bit easier to program for - just be sure you're not exceeding the 10 commands/sec limit on light changes (1 command/sec on groups) or the bridge may start rejecting your commands.

For more advanced effects you’ll need to use the EDK; the Explode button shows an example of this. This process is a bit more involved so I'll go further in detail here. Upon pressing Explode the app will first check to see if you've created an Entertainment Area. If not, it will create one automatically (though I recommend setting one up right from the Hue app so that you can position your lights correctly). Next, the app sets the bridge into streaming mode. This is necessary for the bridge to be able to listen to the UDP-type messages coming from the app. When in streaming mode, the bridge will ignore legacy Hue commands so you'll need to disable it when you're finished if you plan on controlling your lights through other apps. With streaming mode enabled, the app will call a function in the EDK to create an effect based on the parameters that you set. In this case, we're creating an Explosion Effect with an intense burst of color in one location that radiates outward. The effect object is added to the mixer, which renders the state of the lights for the entire Entertainment Area.

Unlike the legacy Hue commands which offer the ability to set individual light states, the EDK always controls the entire Entertainment Area and it will continually stream updates to the lights based on the effects that you add to the mixer. As the name implies, multiple effects can be mixed together with a combination of layers and color transparency.

Aside from the Explosion effect, there are other types of effects that you can create with Hue Entertainment, such as:

  • Area Effect - sets all of the lights in sub-area(s) of the Entertainment Area to a color or animation.

  • Multi-Channel Effect - sort of like 5.1 audio, you can define a separate channel for different animations. Light DJ typically uses these over Area Effects because I can’t always guarantee that users will have lights in every area. This effect distributes the channels evenly regardless of light locations in the Entertainment Area or how many lights the user has.

  • Light Source Effect - created a radial color animation from a specific location in the room. (An Explode Effect is a type of Light Source Effect.)

  • Light Iterator Effect - cycles through each of the lights in a room with a certain color or animation.

You can find more details on these effect types at including sample code and details on how to define animations.

For advanced users, there's also the ability to create your own fully custom effects, rendered by the EDK, by implementing the Color Animation Effect Delegate. By overriding the color(...), render(), and renderUpdate() functions you can set the color of each light every time the EDK requests a render (around 30 times/sec). If you plan on creating long-running effect sequences, there’s also a Sequence Effect and timeline functions that you can use to program and chain multiple effects over a longer duration.

Light DJ takes advantage of all of these effect types in various places throughout the app. For example, the Strobe Cycle effect uses a Multi-Channel effect where each channel is defined by the four corners of the room, with 1 channel set to the selected color, and 3 channels set to off (black), switching the colored channel each beat. The Drip effect uses an Area Effect (area == .all), displaying a looping fade-off animation over the whole area. The Matrix and Fireworks effects use multiple layered Explode effects. I had to write custom effects for Swirl, Groove Wave and others due to the need to match the speed of the effect to the tempo, but these could have also been made using Sequences. As you use the Light DJ app, see if you can identify the EDK effect(s) I used to make each of the effects.

As you can see the Hue EDK is a powerful tool for creating effects. Before this became available developers had the complex task of managing individual light states on systems with ’n’ number of lights (with significant performance limitations). Now the effects ‘just work’ regardless of the each users' setup. Since integrating these new effects, users’ time-in-app has increased by over 30%. As Philips Hue continues to dominate the smart home market, expect to see more Hue Entertainment integrations with video games and other media. Razer Chroma already works with Hue Entertainment on games like Overwatch, syncing lighting effects with in-game actions.

I hope this helps new developers get up to speed quickly with the new API. If you’re just starting out I recommend creating a few effects right in the Quick Start app for easy development then port them into your own projects. The Quick Start app is available for iOS and Android and EDK library is written in C++ so it’s compatible with most coding projects. If you have any questions about the Hue EDK or creating effects feel free to email me anytime at

Cheers and happy coding,


New Pricing Starts July 2. Upgrade today and never pay again

When I started developing my Light DJ app over 3 years ago, I never would have guessed that it would end up where it is today as one of the top Philips Hue apps on the market. One thing that hasn't changed since the start though is my continued desire to keep making new features. Users email me every day with cool new feature ideas and most of those eventually make it into the app. This has become a barrier to growth, however, since charging a 1-time fee does not bring in enough revenue to be able to dedicate all of my time working on it.

As a result I've decided to change the app to a subscription-based pricing model. This will allow me to continue to put food on the table and start a family while I continue to create new features and work with more types of lights in the future. There's a ton that I'd like to do, too much to list everything here, but this is just a sample: SceneMaker playlists, Visualizer 2.0, Android tablet UI, AppleTV & Windows versions, camera-to-light support, multi-zone support for LIFX Tiles, Beams, and Z Strips, custom color themes, redesigned effect maker, improved UI flow between controllers, and much much more. These suggestions all came from fans like you who write to me and tell me what you'd love your lights to do. 

When you bought this app you entrusted me to give you a great light show. I believe in fair and honest work and getting what you paid for so it's only fair that if you own the fully unlocked app(either Light DJ Pro or Light DJ Deluxe, or purchased all 3 controllers from the Light DJ app) you'll continue to get new hardware and feature updates as they are released as a thank you for being a loyal Light DJ user. You'll get all of the benefits of a subscription user without having to pay. Pretty cool, eh?

If you own any part of the app before July 2 you'll never have to pay again or lose features. Your purchases will continue to work forever.

If you only own 1 or 2 controllers, they will still work after the switchover however you'd need to subscribe to the new service to fully unlock future features of the app (inc. new controllers, UIs, & new hardware support.) If you purchase the remaining controllers before July 2 you'll get upgraded to Pro/Deluxe and get the free subscription benefits as well.

Switching to this new model wasn't an easy decision, but ultimately it's what's needed to keep bringing you new and exciting updates to the app. When I make these big changes my top concern is making sure that existing Light DJ users are taken care and will not lose any features or have to make any additional purchases as a result of this change. You helped get this app off the ground and I want to reward you by bringing you the best light show app in the world!

If you have any questions about this change, or anything else feel free to write me at



Light DJ now supports Philips Hue Entertainment

Light DJ Pro now supports Philips Hue Entertainment areas to total entertainment lighting control.

Hey everyone, Kevin from Light DJ here. Philips announced their new Hue Entertainment API in January and that threw my priorities list off a bit, but boy was it worth it. I had been expecting a simple drop-and-replace solution with faster bulb response, but what they delivered was much more: a complete effects generation system that works seamlessly with your Hue lighting setup.

One of the biggest challenges I've had in creating the app is getting the effects to look good regardless of where your lights are located. My original solution to this was ordered bulbs method where you sort your lights in a ring around your room. This had pros and cons, but my general assumption was that most people keep their lights on the sides of the room. The reality is that there are a ton of different lighting configurations, including hanging fixtures, flood lights, and LED strips. Introducing Hue Entertainment areas:

Hue Entertainment areas are used to define light locations within a room.

When you create a Hue Entertainment area from the Hue app you'll set each of your light locations in your room. Each Hue Entertainment area can include up to 10 lights. Only one Hue Entertainment area can be controlled by a single bridge at any one time, however Light DJ allows you to control multiple simultaneous Hue Entertainment areas if you use a separate bridge for each area.

By using a Hue Entertainment area you'll enjoy high-performance, spacial effects; all of the app's effects respond faster and with better sync. Send waves of color across your room with the updated Groove Wave effect, or see faster strobes with the Matrix controller. The Visualizer is more responsive and active too.

You can try out all of the new effects for free today by downloading Light DJ on the App Store or on Google Play.

If you like the new effects or have some suggestions, feel free to comment or send me an email at This app was build on user feedback and I value your input!



Light DJ 2017 Year In Review

Can you believe 2017's almost over?

For Light DJ, that means the app is turning 3 years old next month! It's been a long journey to get to this point and I couldn't have gotten there without the support of my faithful users. Let's take a look at what happened in 2017.


In April I gave the Android app a nice big update, adding the SceneMaker and Matrix effects and updating the Visualizer. Often when I'm designing new light controllers I'm not really sure how well the concept will work or if it makes sense to users so I design on iOS first. With the feature set now stable on iOS I was able to add all 23 SceneMaker effects and 5 Matrix modes to the Android app to bring the two apps' features sets closer together.

Once that was released it was time to turn back to the iOS app for some new hardware compatibility. The app has always supported Philips Hue and LIFX since the beginning, but I've been hesitant to add other hardware due to various technical/practical concerns. The Nanoleaf Aurora is the first exception I made. The hardware is so eye-catching and vibrant that I just had to add it to the app. This was more complicated than I expected as I had to not only write the communications pipeline between the app and the Aurora, but I also had to redesign & recode all my effects (which were originally developed with individual bulbs in mind). It was worth the effort though and I couldn't be happier with the results. It makes me giddy when users send me videos of their Aurora lights in action! :)


In October I released the newest addition to the Light DJ family - Light DJ Studio. With this new app I was able to demonstrate a new concept in light shows and also solve a few technical challenges that I've faced since I started working on my apps. The app is simple: pick a song to play, then while it's playing tap along on your phone. Your taps will translate into light effects and the phone will record your taps so that you can play back your light show later. It uses Apple's new MusicKit API, which lets the app the access the Apple Music library of over 30+ million tracks. It also works with Bluetooth speakers, which sadly isn't supported on the Light DJ Pro app. This app has a ton of room to grow and I can't wait to start building features for the next major release next year.


Finally, in December I made a few significant back-end improvements to the Light DJ Pro app. I added support for Ableton Link and MIDI, allowing DJs and musicians to set and control the tempo from other devices. I also integrated a new beat-matching library for much improved real-time music synchronization over the mic. 

What can you expect to see in 2018?

One of the great things about being your own boss is that you get to set your own schedule. While I don't have any specific dates for any future releases, this is what I plan on prioritizing for next year:

  • Nanoleaf Aurora support on Android

  • Light DJ Studio Community Tracks service - share your light show recordings with other Light DJ Studio users

  • Custom effect playlists on iOS SceneMaker

  • Apple TV & Android TV support

  • Android tablet mode


If you have a specific feature request or just want to let me know what I should work on next, send me an email and let me know! I hope everyone has a safe and merry holiday season. I can't wait to see how everyone's New Years Eve parties turn out!


Cheers and happy holidays,


NEW: Connect your Nanoleaf Aurora with Philips Hue and LIFX

With Light DJ, you can now connect your Nanoleaf Aurora to Philips Hue and LIFX smart lights.

Hey guys! It's been a while since my last post, but I wanted to fill you in on the latest happenings here at Light DJ HQ. Last month I released a blockbuster addition to the iOS app, integrating all of the apps effects with the fantastic Nanoleaf Aurora.

The Nanoleaf Aurora is a set of modular LED panels that you mount to your wall in whatever configuration you can imagine. They piece together just like LEGOs and stick to your wall with easily removable 3M strips. You can create all sorts of different shapes with the panels and the system is expandable so you can keep adding more and more panels to create the ultimate lighting that will change your wall from boring to awesome!

The Nanoleaf Aurora adds a whole new dimension to your light setup, and fully integrates with your existing Philips Hue and LIFX lights.

This update is for iOS users at the moment, but Light DJ Android support for the Nanoleaf Aurora is in the works. Look for it to be released sometime this fall. As always, if you have any suggestions for the app I welcome your feedback at