What is an Arduino
In essence Arduino is just another μController development board. The main purpose of such a μController development board is to make it easy for developers to evaluate the functions of, or create a quick prototype with, a certain type of μController. μControllers come in al sorts of tastes and sizes hence there are many different flavours of μController development boards as well. Do, for example, a Google search on microcontroller development board. You will see an abundance of different different platforms and most likely you will find some Arduino flavours there as well.
From the Wikipedia article on Arduino we read:
Arduino is an open-source computer hardware and software company, project and user community that designs and manufactures kits for building digital devices and interactive objects that can sense and control the physical world. Arduino boards may be purchased preassembled, or as do-it-yourself kits; at the same time, the hardware design information is available for those who would like to assemble an Arduino from scratch. The project is based on a family of microcontroller board designs manufactured primarily by SmartProjects in Italy, and also by several other vendors, using various 8-bit Atmel AVR microcontrollers or 32-bit Atmel ARM processors. These systems provide sets of digital and analog I/O pins that can be interfaced to various extension boards and other circuits. The boards feature serial communications interfaces, including USB on some models, for loading programs from personal computers. For programming the microcontrollers, the Arduino platform provides an integrated development environment (IDE) based on the Processing project, which includes support for C and C++ programming languages. The first Arduino was introduced in 2005. The project leaders sought to provide an inexpensive and easy way for hobbyists, students, and professionals to create devices that interact with their environment using sensors and actuators. Common examples for beginner hobbyists include simple robots, thermostats and motion detectors.
From the above Wikipedia excerpt and our observation that the Arduino platform is far from unique in its hardware configuration we can conclude there is more to it than just the blue board with the ∞ on it. So,... what is it that makes the Arduino platform so special and widely used for education and prototyping with respect to those other boards?
The key point here is in the last paragraph of the Wikipedia text:
The project leaders sought to provide an inexpensive and easy way for hobbyists, students, and professionals to create devices that interact with their environment using sensors and actuators.
In general programming a μController is not a trivial task. It can actually be quite hard (See:Microcontrollers). One of the major aspects to the success of the Arduino is its quite successful attempt in making programming a μController a less daunting exercise.
In short Arduino is a combination of the following elements:
- the development board based on an Atmel AVR 8- or 32-bit μController
- a bootloader
- an implementation of the wiring language and programming environment.
- the Arduino website and community
Notes & References
- Currently this is the optiboot bootloader: https://github.com/Optiboot/optiboot