A Tinkerer's Approach To Connected Devices
Half the fun of getting a new toy when we were younger was opening it up to see how it works—and possibly even tinkering around in hopes of making it better, faster, and more fun! This was true of our toy airplane, then later in life our first car, and today our technology gadgets.
Technology enthusiasts the world over are, at their core, tinkerers. These men and women are always looking for ways in which they can inexpensively automate gadgets and devices to wow their friends and maybe, just maybe, create the next big thing. But tinkering around with your connected device can get a bit expensive.
Fear not tech enthusiasts, an exciting open hardware revolution is underway, catalyzed by the use of programmable electronic boards designed for programmers that don’t have hardware engineering capability. This innovation could allow you to automate a number of network-enabled services at your home and workplace.
There are a number of different development platform boards available, including Parallax, Beagleboard, and Chumby, to name a few. Then there are boards from the likes of Yitran and SoftBaugh, both of which are based on the ZigBee platform.
But for the purpose of this article I chose to work with a board design called Arduino. In my opinion, boards like the Beagleboard and Chumby are closer to full embedded computers rather than a controller, so they may be overkill for the more simple functions. This is where I believe Arduino is beneficial, as it shares its entire hardware schematic with the world, allowing people to build their own and modify it to their liking—very much like a Linux distribution.
Using a simple set of instructions, commands can be sent to the board that control switches and motors. Conversely, information can be collected from sensors like motion detectors and temperature probes.
Some of the things I’ve constructed include a temperature sensor for a data closet with email alerts when temperatures exceed a certain threshold; an infrared controller for my flat-panel HDTV that can be remotely operated from my smartphone; a motion detector that hooks into my X-10 power switch controllers to activate lights when motion is detected in a room after dark; as well as several other network-connected actuators, servos (hobbyist remote-control devices), and sensors. I’ll explain more about these projects; but first, let’s address some of the technical details.
Reducing the Intimidation Factor
In general, these boards promote open learning of electronics in a less intimidating, less complex development environment. Following the principles of the open-source software movement, the creator of Arduino decided to make its architecture fully documented and available for anyone to freely download and modify. This open approach has not only kept the physical hardware costs of the boards down—retailers typically sell Arduino boards for $28-$32—but also spawned a wide range of designs such as the Lilypad, Arduino Mega, and Arduino Uno.
These variations have further stimulated an expansion board market. Known as Arduino Shields, these boards add Ethernet, audio, motor, Bluetooth and other hardware features. However, unlike blocks that can be stacked one on top of another, the standard Arduino configuration only supports one additional board. While this constraint may limit some features, it forces tinkerers to focus on executing a precise function well.
The Fun Stuff
Coupled with either an Ethernet shield or, for simple wireless connectivity, an XBee module, these boards are spurring the same kind of excitement among innovators and electronics hobbyists as building personal computers did in the 1970s. Pioneers of that time, like Apple cofounder Steve Wozniak, helped to create the PC industry. This was made possible by the low cost of CPU chips that made personal computing possible.
Likewise, these boards provide today’s enthusiasts with low-cost microcontrollers that are far more powerful and considerably less expensive than the CPUs of old. Consequently, the possibility of a Steve Wozniak of the microcontroller world pairing up with a Steve Jobs master salesperson for this emerging market may be a possible outcome. Even if history doesn’t repeat itself, the creativity and accelerated innovation being spurred on by inexpensive open hardware designs like Arduino are undeniable.
For example, my 16-year-old daughter has yet to formally study electronics theory or even read a book on microcontroller programming. Yet, she employed the Arduino Duemilanove and a motor shield to make a hat mounted with felt ears that wiggle back and forth. While such a hat design may commercially exist, the joy and satisfaction that she gained bolstered her confidence to further enhance her interactive ideas.
Future improvements she aspires to include audio triggers that will bend the ears in the direction of sound, and lights attached to the hat that will blink different patterns depending on the direction someone approaches. She also hopes to extend Arduino’s programming to move costume wings worn on her back. The wings could even be remotely triggered via Bluetooth or XBee wireless connectivity, and replay various motions depending on the pattern selected on the host computer or mobile phone.
The Arduino phenomenon has prompted others to expand its functionality well beyond what the board’s creator could have imagined. When you Google the term “Arduino,” what comes back are thousands of pages and hundreds of videos showing off these innovations. Some of the more unique expressions I have come across include using Arduino hardware for outdoor lighting control and synchronizing holiday music with lighting and motion effects. Another design controls a synthesizer that generates music and percussion using power tools. Still another communicates with a temperature and humidity sensor to detect when plants need to be watered. This dry soil condition triggers the transmission of an email, text message, or even a tweet.
My own Arduino uses have centered on networked functionality. For example, I attached an infrared transmitter to the board and wrote a Web service that allows me to trigger TV remote control codes to my HDTV. Because this is a Web service, I can use a Web browser or a mobile device like an iPhone or Android phone to transmit these codes to my TV anywhere in the world. And because the codes can be programmatically linked together like macros, I can turn on the TV, set it to a desired channel, turn the volume to the perfect level, and put the screen to the correct aspect ratio all with a single press of an onscreen button.
Another one of my projects controls X-10 home-automation switches to turn on living room and bedroom lights, and fires up a recording Webcam if motion is detected in my home during certain times of the day and night.
Arduino-enthusiast Websites are springing up like mushrooms across the Internet as aggregators of nifty projects created by site authors and contributors. Some of these accompany the programming code they wrote or modified to make their innovations work. These sites offer a wealth of ideas and a community to connect with other enthusiasts.
One popular site, www.instructables.com, frequently features Arduino projects that place this little hardware board into novel scenarios, such as manipulating a robot via a Nintendo Wii remote controller, semi-autonomously driving a lawn mower via radio control, and one that even recognizes and provides alerts regarding the overall gas levels of pollutants, including “ethanol, methane, formaldehyde, and a bunch of other volatile organic compounds.” The author of the project posits that such equipment costs more than $2,000, whil