Arduino can be affected by the environment by receiving input from a variety of sensors. It can also affect its surroundings through programming to control lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language, based on Wiring, and the development environment is based on Processing. Arduino projects can be stand-alone or they can communicate with software running on a computer (e.g. Flash, Processing, MaxMSP). The boards can be built by hand or purchased pre-assembled; the software can be downloaded for free. The hardware reference designs (CAD files) are available under an open-source license, so the user can adapt them to their specific needs.
Arduino simplifies the process of working with microcontrollers for those with some prior knowledge of electronics and programming. Beyond the standard board, Arduino offers hardware with more complex features like the LilyPad which is built for wearable electronics and the Esplora for game-building. Teachers and students can scale their projects from basic LED lights to advanced robot-building. What makes Arduino unique is that it can operate wirelessly and can “remember” programming instructions.
Keywords / Definitions
- Microcontroller : A small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals
- Physical Pixels : Using computer based tools to manipulate physical objects
- Processing: Programming language with an integrated development environment
It consists of two parts; the hardware and the software, and with these you can build almost anything, from a simple flashing light to a box of tricks that sends you a Twitter message when your houseplants get thirsty.
—Charlie Sorrel, WIRED Magazine
Arduino units are relatively inexpensive compared to similar microcontroller systems. It is a cross-platform tool and can be used on Windows, Mac OSX, and Linux. The user-interface is easy to use for those with prior electronics experience and can be quickly mastered via teaching and resource tools available online. While Arduino is not recommended for young children, it is a scalable tool that high school students can use to develop increasingly complex projects. Those who are learning Processing will find they are already familiar with Arduino’s programming code, while total novices will be able to follow intuitive instructions and be guided by pre-developed projects. Arduino is best suited for an ongoing classroom setting or for free-range learners who are comfortable using online resources to navigate high-level concepts. Arduino and it’s accessories act as an introduction to programming, circuitry, interactive electronics, technology as a raw material, and the idea of “physical pixels.”