Marc Hughes

I am a developer from a bit west of Boston.

TSP Build Notification Board

23 Oct 2009

A couple posts back I blogged about playing around with an Arduino.  Since then I've completed my first project, a Build Notification Board for work. It sits in my office window facing the main part of our office building.

At work, whenever a developer submits a change to a project we automatically make a build to make sure nothing goes wrong.  This board gives us the current status of four different automated builds that happen on those cruise control servers.  The green light indicates that the last build was successful (it switches to red if it failed).  The blue light lets us know if it's currently building (it does a nice pulsing fade in/out).

On any failure, a flag is also risen from the top of the board.

There's two meters at the top.  The first one shows an overall project completion (that's manually entered by me right now).  The other one shows "communication density".  Right now, it's a random value that ticks up and down.  Eventually it'll represent the volume of traffic on our project mailing lists.

The top gauge looks like this (The 0-180 scale is a bit of an internal joks that any fellow TSP employee would get):

The electronics are fairly simple.  4 pins of the arduino control the red/green lights.  4 pins control the blue lights.  One of them controls a servo that raises/lowers the flag, and two pins are for the two meters.

Besides that I have a switch on the back that activates "demo mode" that does some pretty flashing lights and raises the flag.  There are a couple status indicator lights that tell how the board is functioning back there as well.

The meters are 1970's era amp-meters in the micro-amp range that I opened up and replaced the background label with customized print outs.  I was suprised to see that a simple resistor and PWM signal could control them accurately.  I was thinking I'd need a capactitor in there to even out the current.

Here's the back of the board.  Normally, there is a panel that covers all this to make it look less like a fire hazard.  At the top you can see one of the meters.  Next to that is a small protoboard that the status lights, demo-switch and flag-servo are all soldered into.

If you follow the green wires down from there you'll come to my Arduino board which is actually a lower-cost Seeduino that I bought so I could continue playing with my arduino for other projects.  One nice thing about the Seeduino is you can solder connectors directly to it.  I've got 2 8-pin connectors attached to it that connect all the lines I needed to the proto board below it through those rainbow-wires.  That second proto-board has the resistors for the blue lights and the connections for all of the lights on it.

To the left of all that is a structure that holds all of the lights, the lenses, and some dividers between the lights.  To control two lights with a single pin it was easier for me to put those resistors closer to the LEDs so that's what you see there.

The black wire from the Seeduino to the foreground is a USB cable providing power and status updates.   On the computer it's attached to there is an AIR application that queries status info from our cruise control servers and relays it to a program running on the seeduino.