Some time ago a co-worker passed me an article about “Extreme Feedback” devices that could be attached to your autobuild system with the express intent of making it very visible that the build is broken, and potentially being irritating enough to help motivate people towards fixing the broken build. Since reading this article I have been somewhat consumed with the concept of creating one of these devices for my team. Keeping builds clean is hard, and without a constant reminder, it can be very easy for people to let the build stay broken for long periods of time. This essentially defeats the purpose of doing autobuilds, and potentially even unit testing.
I Looked into the Ambient Orb, but I have to admit, I wasn’t particularly thrilled with the fact that it has a monthly subscription, and you can’t talk directly to it with your computer. So I started to teach myself electronics in the hope that I would be able to build one of these devices on my own. After a month or so, I ran into the Arduino platform, which struck me as the perfect platform for building an orb from scratch. This is the end result of my project is this, The Arduino Orb Build Warden:
This Device has the following features:
- USB
- Simplistic API for scripts that monitor a build system
- 3 modes
- Single color mode: You can send colors in web format (e.g. #RRGGBB)
- Alert mode: The orb will flash a color passed in from full intensity to %20 intensity (Format is similar to web format: %RRGGBB)
- Roam mode: The orb will morph from one random color to another for as long as you leave it. (Format is the string ‘roam’)
Here is the device in action:
The design of the Build Warden was heavily influenced by Tod E. Kurt’s Arduino Ambient Orb from his Spooky Arduino class. I started with that as a base, and went from there.
Parts List
Software
More Photos, circuit diagram, wiring diagrams
If you are interested in building one, I have made an instructable for building the Build Warden.
February 4th, 2010 at 8:18 am
Thank you! I added this page to bookmark)) I think would be useful …