“make the donkey light-up when someone breaks the build” – that’s how it all started….
so my GF Aimee is a Software QA – at her work they have an internal application named Death Burrito which has a donkey logo (that’s it’s own story). so i guess this actually started when someone bought one of those little road-side welded metal-art sculptures of a donkey in for the team.
like any modern dev team, they use an automated build process. someone got the awesome idea that the donkey should light up whenever someone “breaks the build” (when they check in code that doesn’t compile/test).
i told Aimee i could make that happen and she mentioned to them and the next think you know i have a metal donkey sitting beside me!
the first thoughts were mainly on how to do the software interface, not planning to do much hardware hacking – just get any pre-built pc-interfacing device that could switch AC power and wire him up with a lightbulb inside.
i knew x10 made some home automation stuff that would work with a PC, and i already had some of their switches even. i also looked at some USB controlled power switches, but was shocked at the $100+ prices i was seeing. so then i started thinking that i might do more tinkering with the electronics side of the donkey than originally planned. this led me down the path of looking at low-level USB breakout boards for digital IO, which then led me into world of embedded programming and microcontrollers (Arduino, Basic Stamp, etc).
most of these little devices could be had for $35 – $65. i was targeting $100 for the maximum total on the entire build, including all electronics and supplies. so the decision was made to do this with some high-brightness LED strips that i already had and one of these hobby microcontrollers. i was pretty set on using NetDuino due to the .Net programming language and the wide range of peripherial devices that work with it. this however sent me thinking “why have it even hooked to a computer?” after all embedded devices are meant to be autonomous – i could get a ethernet shield and let the donkey just plug into the network.
software-wise, i was thinking the donkey could either poll a webservice to find out if the build was broken. or maybe even host it’s own simple webserver and webservice that the automated build process could call out to. Aimee’s team is on the Linux/Java side, so the lead dev asked if i could progam it in something they could work with, so i decided to go with the original Arduino versus the NetDuino and get him to help if i need any programming done that i can’t find examples for.
the final plan
just before hitting the purchase button on an Arduino, Ethernet Shield and a relay break-out board, i realized i already had something even better! now i’m going to save what exactly that is for a suprise ;) – mainly because if the team knows what they are getting, they are going to already be writing code for it before i even get it built!
Aimee’s team, and myself have been independently getting over-excited about all the prospects of the little donkey…. can it HEE-HAW too? can we put tank traks on it? can it shoot missiles? can it have friggen laser-beams? can it ride the elevator?
the actual main goals of v1 are:
- wifi connected donkey
- donkey will check an email box (undecided on POP3 or IMAP still)
- donkey will look for emails with a specific subject-line format and when found, will activate it’s peripheral “notification” accessories
- special emails will have a subject-line that includes name of the offending “build breaker”, which will be displayed on a screen of some type
- donkey will be lit up all the time with white LEDs, but when triggered by the specific email, will blink several high-brightness red LEDs in it’s nostrils and other places and will HEE-HAW
- donkey will at it’s heart be compatible with common Linux-accessible open source programming languages
- build it to be extendable (with hardware and software)
- throw in some suprises
i’ve named him Death Burro. this is going to be a fun little project. it should expose me to some programming languages that i’m not familiar with, and it’s nice to get back into electronics.
stay tuned for more Death Burro posts, as i get into the build. here’s a teaser shot:
see the rest of the build here as it progresses: