Have you ever wanted to create a program that could literally make your coffee for you? If so, you might be interested in microcontroller development.
Microcontrollers are notorious for being difficult to program; the goal of Arduino is to create an accessible way for software developers to enter the world of microcontroller programming. Arduino is a microcontroller interface built around an Atmel ATmega processor, coupled with a language and programming environment for creating logic on the chip.
Software and Hardware:
Arduino is open source, both in its software and hardware specification, so that hobbyists can assemble the simplest Arduino modules themselves by hand. More sophisticated pre-assembled Arduino modules can be purchased and usually cost less than $50. The hardware comes in many format specifications, from a small wearable device, to larger surface mounted modules. The primary mode of computer connection is via USB, though Bluetooth, serial and ethernet form factors also exist.
The Arduino software is free and open source. The programming platform is based on the popular Wiring language. The IDE is based on Processing, which is a well-known language among designers and prototypers. Unlike most microcontroller interfaces, Arduino is cross-platform; it can be run on Windows, Linux and Macintosh OS X.
Arduino allows users a simple pathway to create interactive objects that can take input from switches and sensors, and control physical outputs like lights, motors or actuators. Because the language is based on well-used frameworks, Arduino can interact with other software on the computer like Flash or even web APIs like Twitter.
The platform has already fostered a community of developers who are sharing a lot of open-source work. Enthusiasts have used it to create a wide range of innovative projects, from software thermostat controllers, to baby monitors that send SMS alerts, to a toy gun that fires every time a certain hashtag is used on Twitter. And yes, there's even a whole page of Arduino projects for controlling coffee appliances.
Importance of Arduino:
While some of these Arduino projects may seem frivolous, the technology actually taps into a number of trends that will make it a potentially important force in the industry. "The Internet of Things" is a popular phrase used in the tech community to describe everyday items that are connected to the Internet and able to share information. Smart energy meters are an often-used example, which could regulate appliance usage to save money on energy. Many consider the Internet of things to be an important part of the loosely defined phenomenon called Web 3.0
Also, the concept of ubiquitous computing is fast becoming a cultural norm. Public perception and comfort level is shifting towards integrating technology into the fabric of everyday life. The small form factor of Arduino allows it to be applied in all kinds of everyday objects. In fact, the Arduino LilyPad form factor allows for wearable Arduino devices.
Tool for Innovation:
Open source projects like Arduino lower the barrier of entry for developers that are looking to experiment with interactive objects. This will create an opportunity for a new wave of energy and startups in creating the Internet of things. These innovators will be able to rapidly prototype and experiment with interactive devices by using the Arduino platform, before creating a production-ready offering. The next Mark Zuckerberg or Steve Jobs may one day be found creating new ways for computers to interface with the physical world. It would be wise to pay attention to this space, and Arduino is a great way to “dip your toes” into the possibilities of interactive objects.