LED build monitor helps keep an eye on your servers

build_status_board

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.

After some time had passed, he was bitten by the idea bug again and decided he would build a physical device to display the status of his build processes. This time around, he brainstormed on a smaller scale and the result is the “Indictron” you see above.

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.

If you’re interested in a bit more of [Pedantite's] work, check out his “Good Times” parental timer we featured last week.

Comments

  1. CutThroughStuffGuy says:

    Nice – I have had a similar idea before to monitor server statuses. Clean build, serves its purpose well! Would love to see schematics or an arduino version :)

  2. CutThroughStuffGuy says:

    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.

  3. Hunter says:

    That is so 1st Gen Star Trek!

  4. Life2Death says:

    Segment (progress bar) leds or RGB would suit this purpose as well. Looks cool, now to put it into a star trek console…

  5. Pedantite says:

    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.

    -P

  6. wardy says:

    Simple but genuinely useful. Cool hack.

  7. John says:

    @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!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s