Introduction
What is an Arduino ? Arduino is an open-source prototyping platform based on easy-to-use hardware and software. 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, publishing something online. You can tell your board what to do by sending a set of instructions to the microcontroller on the board. To do so you use the Arduino programming language (based on Wiring), and the Arduino Software (IDE), based on Processing.
Why Arduino?
Inexpensive – Arduino boards are relatively inexpensive compared to other microcontroller platforms. The least expensive version of the Arduino module can be assembled by hand, and even the pre-assembled Arduino modules cost less than $50
Cross-platform – The Arduino Software (IDE) runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows.
Simple, clear programming environment – The Arduino Software (IDE) is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well. For teachers, it’s conveniently based on the Processing programming environment, so students learning to program in that environment will be familiar with how the Arduino IDE works.
Open source and extensible software – The Arduino software is published as open source tools, available for extension by experienced programmers. The language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C programming language on which it’s based. Similarly, you can add AVR-C code directly into your Arduino programs if you want to.
Open source and extensible hardware – The plans of the Arduino boards are published under a Creative Commons license, so experienced circuit designers can make their own version of the module, extending it and improving it. Even relatively inexperienced users can build the breadboard version of the module in order to understand how it works and save money.
Boards
Arduino manufactures their own official boards but there is certified boards from different manufacturers e.g Adafruit, Sparkfun, Seeedstudio etc. Being an open source platform it opens the doors for anyone to build a clone or a modified version of an official board.
Programming
Programming an Arduino board is super simple. Arduino officially provides an open-source Arduino Software ( IDE) which makes it easy to write code and upload it to the board. There are other IDEs you can use to write code for Arduino official or compatible boards e.g Atmel studio 7 and Codebender (online IDE)
The presence of a large online community plus an extensive collection of libraries is what makes Arduino an interesting platform to learn embedded electronics.
Below is a sample code written using Codebender