LED build monitor helps keep an eye on your servers

In his line of work, Hackaday reader [Pedantite] often has to monitor the build status of several continuous integration servers throughout the day. One afternoon, he got the idea to install a set of stop lights in the office in order to monitor the status of the servers, but filed it away as a “wouldn’t it be cool if…” project.

He built a simple LED board made up of four rows of four LEDs to display the build processes. Different LEDs are lit depending on the project’s current build status as well as the results of the previous build. The board uses an ATmega88, and interfaces with a compiler watchdog application using a virtual USB package made specifically for AVR micro controllers.

The end result is a simple, yet useful status board that “just works”. He does not seem to have code or schematics posted on his site at the moment, but we’re pretty sure he would share them upon request.

Does it have a heartbeat feature in case the line gets dropped then it can error out in some way or otherwise alert the operator? Nothing sucks more than thinking things are up when they are not but the message never got updated to tell you it was down.

I’ll see if I can whip up a simple schematic.(eventually :)) Typically, my design process is a combination of: marked up datasheet(especially the pin description page), a breadboard or two, a volt meter/scope, and a hand-sketched layout on scrap paper. For circuits like this that are pretty simple that usually works. If I’m unsure about something, I mock it up in spice. It’s a little old school, but more fun.

There is a heartbeat feature, at least on the AVR side. If I don’t get a “ping” message from the PC after 15 seconds, the AVR goes into “idle mode”, and turns off all lights.

On the Windows side, each project is polled in a separate thread. There seems to be issues with .Net remoting where a remote call can hang for up to a minute if the server is down. I monitor each thread externally, so the main UI stays responsive. If the main thread doesn’t get an update from the polling thread within 10 seconds, I assume the server is offline, and just turn off all lights.

Thanks for the Star Trek complements, I didn’t even think of that. I like how 5mm LED’s have the “old timey” look. I considered RGB LEDS, but didn’t like how they turned out on a different project I did prior to this one, and they wouldn’t have saved me much work.

@CutThroughStuffGuy Why would you bother with an Arduino? The Arduino costs, what, $30? That AVR is $3 plus a few little diodes and a USB port.

I did something similar with an AVR when I built a chording keyboard… a few diodes, resistors, a scavenged USB cable, and the buttons themselves. I’d smack anybody who asked about an Arduino version, because the Arduino board wouldn’t have fit inside the enclosure!