Arduino is an open-source prototyping platform based on easy-to-use hardware and software. An Arduino Board is AVR microcontroller based board which follows the standard arduino schematic and is flashed with the arduino boot-loader.
Arduino boards are able to read inputs – light on a sensor, a finger on a button, or a Twitter message – and turn it into an output – activating a motor, turning on an LED.The arduino is referred as open source hardware.
The arduino board has all the required circuitry to get the built-in AVR microcontroller running. The output or inputs can be taken from the boards or given to the board using convenient connectors. Both digital and analog inputs and outputs are available in all arduino boards.
The open-source Arduino Software (IDE) makes it easy to write code and upload it to the board.The arduino IDE is also open source and anybody can contribute their libraries to the arduino. The Arduino project provides the Arduino integrated development environment (IDE), which is a cross-platform application written in the programming language Java. The Arduino IDE supports the languages C and C++ using special rules to organize code. The Arduino IDE supplies a software library called Wiring from the Wiring project, which provides many common input and output procedures. A typical Arduino C/C++ sketch consist of two functions that are compiled and linked with a program stub main() into an executable cyclic executive program:
- setup(): a function that runs once at the start of a program and that can initialize settings.
- loop(): a function called repeatedly until the board powers off.
After compiling and linking with the GNU toolchain, also included with the IDE distribution, the Arduino IDE employs the program avrdude to convert the executable code into a text file in hexadecimal coding that is loaded into the Arduino board by a loader program in the board’s firmware.