The more I manage my team (which develops enterprise software systems) the less enjoyment I get out of coding large-scale personal projects. On the other hand, I really dislike watching many TV shows or movies for fun – it seems like a fleeting waste of time. Therefore, I’ve been on the hunt for new things to occupy my time.
Like most nerdy men, I have a pension for tinkering; it’s one reason why I develop for fun. A few weeks ago I was weathering a meeting via secret Reddit browsing and saw a discussion of an open source project called Audrino. Admittedly, I didn’t “get it” at first; after actually RTFMing I realized that Audrino sounded pretty dang awesome.
In short, Arduino is set of an open-source hardware and software. The Arduino hardware offers a programable microcontroller for use in, well, anything you can think of. The software powering Arduino is open source and also based on the open source Wiring language. This neat little board is cross-platform, pretty powerful, has a million and one uses, and also has a pretty active community. People have made everything from LED cubes to web servers to cloud-connected tweeting robots. For a good explaination of why Arduino is awesome, check out the Arduino introduction.
… should I also mention there are Arduino variants, like Netduino which uses the .NET Micro framework instead of C/Wiring?
After wading through the piles of kits, accessories, and variants available, I ordered myself an Ardunio Starter Pack from Adafruit Industries, some accesssories such as a TMP-102 from Sparkfun, downloaded the (free) Audrino IDE, and broke out my soldering equipment.
Once I had everything an important question came to mind – what the heck am I actually going to build?
The Audrino hardware and IDE are both pretty intuitive and easy to use so getting started on some basic starter projects, such as blinking a single LED, was super easy. The documentation and community are very helpful. Honestly, getting started was so easy I am thinking about using Arduno as the basis for the Introduction to Programming class I am teaching this summer to middle-school kids.
My first project totally designed on my own came to me while flying to and from LA this week. I was sandwiched between a CRJ wall and a Walrus and for two hours reflected on how damn uncomfortable I was. I wished, in true Seattle passive-aggressive fashion, that my clothes would simply tell the other person how I felt.
I wanted sensors and displays which changed color depending on my comfort.
Well, somehow this translated into my first Arduno project – Temperatutor.
This project is pretty simple – two LEDs change color depending on the temperature and the “comfort ranges” I define. I can set the device so “cold” is 30F and hot being 100F. The hardware will then vary the color of the LEDs based on that range. If I were in 30F temperature, for instance, only the blue LED is lit. The finished product is pretty ugly in person; it works (video)!
Once I finished the build, which took a few hours to figure out and code properly, I was pretty excited to share my creation. I discovered there are some pretty neat programs to diagram projects like this – I chose Fritzing.
This project didn’t do anything SUPER amazing but it was a ton of fun. The Ardunio community is great and the tools are a brilliant mix of hardware and software. This geeky boy has a new favorite toy.
You can grab all you need to build your own Temperatutor via GitHub.