Pages Menu
TwitterRssFacebook

Posted by on Sep 21, 2012 in Skype for Business® (Lync®)

Hacking the Busylight

Hacking the Busylight

Over the past couple of months the Busylight has been making quite a splash in the UC community. I don’t want to repeat what’s already been said about it so if you don’t know what it is there’s a write up by Scott Hansleman and a  great video demo by Tom Arbuthnot about it.

We got one in the office the other day and the first question we had was: “can we hack it?”.

The Busylight is definitely a useful tool for Lync users, but there’s lots of other uses where it would come in handy. Leaving aside all the Lync-specific stuff you could do with it, having a USB light you can control means it’s a much cheaper option than an Orb or similar when used for things like:

  • Monitoring Service Statuses
  • Automated Build Notification
  • Warning Systems
  • VIP Email Delivery
  • Impending Hurricanes
  • Impending Family Members

and much, much more. Seriously, there’s loads and loads of use cases.

The question is, can we control it and make it change colour on demand?

The first thing we did after installing the supplied software (available here) was to look in the application folder. The best outcome would have been an SDK guide, but potentially anything like DLLs or CHMs would be handy:

The BusyLight application folder. Look! DLLs!

That’s certainly a pretty positive start!

We created a new C# windows console app, and added both the BusyLightHIDCommunications.dll and the LinkLampConfiguration.dll to the project:

Adding the BusyLightHIDCommunications.dll and the LinkLampConfiguration.dll to the project.

From there, a bit of playing around, following IntelliSense and generally trying things out led us to this:

var HidComms = new BusyLightHIDCommunications.UsbDeviceHidCommunication(1240, 63560);
var x = new BusyLightHIDCommunications.UsbDevice(1240, 63560);
x.FindTargetDevice();
var color = new LinkLampConfiguration.Color();

color.Red = 255;
color.Blue = 255;
color.Green = 0;

x.Light(color);

Boom! Purple!

Purple BusyLight

I know it's not the best photo, but it's quite hard to get good colour definition of a light source using a webcam!

You can even cobble together a simple loop to give you random colours:

Random randomNo = new Random();
while (true)
{
color.Green = randomNo.Next(255);
color.Red = randomNo.Next(255);
color.Blue = randomNo.Next(255);
x.Light(color);
System.Threading.Thread.Sleep(1000);
}

Not a Sound

The Busylight has a speaker, and there are several pre-set ring tones you can set using the supplied software to alert you to an incoming call. It would be really cool if we could trigger those sounds, or even our own.

We didn’t have much luck on this front, unfortunately. The Busylight doesn’t expose itself as an audio device, and I suspect that the sounds are preset and loaded into the device, not sent to it from the software. Either way, we couldn’t work out how to get it to issue the sounds: I’m guessing this is a specific command which the app knows about and is sending to the device.

SDK? Pleeeease?

It would be really great if the team behind the Busylight could offer us an SDK to allow us to open up the sound and make amazing things with it. I can think of loads of really great uses for it and I’m sure it would only increase sales. It would also make it really marketable outside of the UC community to anyone who wants an easy way of indicating status.

Written by Tom Morgan

Tom is a Microsoft Teams Platform developer and Microsoft MVP who has been blogging for over a decade. Find out more.
Buy the book: Building and Developing Apps & Bots for Microsoft Teams. Now available to purchase online with free updates.

3 Comments

  1. I have also asked the busylight people for an sdk, and they’ve said they’re working on it.

    However, are you aware of the blink(1)?
    http://www.kickstarter.com/projects/thingm/blink1-the-usb-rgb-led

    This should do the same job for even cheaper. I’m planning to port my own Lync status indicator app over to the blink(1) as soon as they start shipping. Unfortunately, I don’t think they’ll have a .net api immediately, so I’m not sure how tough this will be.

  2. Btw, did you know that a similar project is also Luxafor? http://luxafor.com/

    It is an open source project and APIs are available.

Trackbacks/Pingbacks

  1. Hacking the BusyLight: an Update | thoughtstuff | Tom Morgan - [...] | 1 comment Hacking the BusyLight: an UpdateA few weeks ago wow, over a month ago, I wrote about…
  2. Busylight Lync SDK Released - thoughtstuff | thoughtstuff | Tom Morgan - [...] while ago, I blogged about how you could use the DLL that came with the Busylight to create your…
  3. Kuando Busylight UC for Microsoft Lync Review | SWAKES.co.uk - […] some more research I found a blog of someone who was able to “hack” the Busylight and do a…

Post a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.