December 27, 2015
The Meeting Light

My work schedule can get pretty crazy! Really crazy… I thought it might be cool to come up with a way to communicate to that to folks I work with.

I built a little wifi connected RGB LED that will display whether I’m busy, free or about to be busy inside of a 3d printed case. I’ve got all of the 3d files and code here available for download.

3d files

The construction was in two parts, the 3d Files were sent to Shapeways and printed with a SLS process. (They call it ‘strong and flexible’). The topper (transparent shark piece) was ‘clear detail’. Both the case and the topper aren’t particularly well suited to a home 3d printer because of hard drop offs on the case and the topper is very small with fine detail.

STL Files
  • Exploded Meeting Light Parts
  • Shark Top
  • Enclosure
Download STL

Build Gallery

The wooden base was a pre-cut railing piece from home depot that I drilled holes for the case pegs to push into. I used a lazy method of putting a little paint from a paint pen on the bottom of the pegs, pushed it against the wood for a close approximation of where to drill. This method isn’t precise but in this case it worked well because the slightly imprecise hole placement put a little lateral pressure on the pegs and friction helps keep the case on the wood.

Photon Code

The brains behind the LED is a photon, wifi connected microcontroller. The code is pretty simple, it’s basically waiting for an rgb hex value from the Particle API. When it sees it, it parses it out and sets the three PWM channels appropriately. This is mostly from a quick example I found somewhere on the web.

Color Server

On the server side, I put together a small nodeJS Script that handles colors with an API. Given a server address, it can constantly check for a color from that URL. Or it can accept arbitrary colors through GET requests.

It’s not quite fleshed out here but I thought a fun way to extend this script would be a robust way of keeping track of ‘color devices’, what their current color is, an API to set a new one and an ‘input’ source that would affect it’s color automatically.

Outlook Calendar (Busy/Free) Parser

This server side php file will look at a local .VFB file, and parse it out to figure out, am I busy, free or about to be busy (15 minutes or less from being busy) and returns a JSONP file. Pretty simple, the color server will look for this file at it’s URL and use it to determine color!

Basically, have a look at this link about how to publish your free/busy schedule to an FTP location. Then, put this php script somewhere that can see the file locally.


Hey thanks for reading this far! Maybe you'll be interested in more of my projects? Check out my homepage :)