I was surprised to see a twelve year old boy giving life to his electronic gadgets. He was trying his hands on building his own creative toys which involved hard electronics and software skills. My zeal was on its peak to know the magical power inside the young chap. How did he understand the concepts of electronics so early? How did he develop the software? Anxiously I went down and asked him about the magic he was doing. The answer was “ARDUINO”
What is Arduino?
Arduino is an open source electronics platform accompanied with a hardware and software to design, develop and test complex electronics prototypes and products. The hardware consists of a microcontroller with other electronic components which can be programmed using the software to do almost any task. The simplicity of the Arduino language makes it very easy for almost everyone who has an interest in electronics to write programs without the understanding of complex algorithms or codes.
Arduino is intended for an artist, tinker, designer or anyone, interested in playing with electronics without the knowhow of complex electronics and programming skills. Arduino is an excellent designed open source platform. It has specially designed boards which can be programmed using the Ardunio Programming Language (APL).
The presence of Arduino is not only spreading between hobbyists, but it has also expanded its roots in industries and used by experts for making prototypes of commercial products. Arduino takes off the efforts required in complex coding and designing hardware.
The open source nature of Arduino has been the main reason for its rapid horizontal growth. Since it is an Open Source project, all the files related to hardware and software is available for personal or commercial use. The development cost of the hardware is very small as against the costly similar proprietary products by the industrial giants. The open source nature doesn’t require any licenses to develop, use, redistribute or even sell the product. But the Arduino name is trade mark protected (Arduino™) i.e., you are free to sell the Arduino board under any other name however in order to sell it under the name “Arduino” you need to take permission from the founders and follow their quality terms.
The Software files which includes all the source code library are also open sourced. A user can modify them to make the project more versatile and improve its capabilities. This provides a strong online community support.
Concept of Arduino
The root of Arduino goes deep down to the development of Processing Language by MIT researchers. Processing language is an open source language designed to introduce the software development environment for the artistic people without the need of deep knowledge of programming of algorithms. Processing is based on java.
In early year of 21st century, designing an electronics gadget was nearly impossible for a common man. The requirement of specific skill set and hefty prices of software and hardware created a full stop in the path of their creativity.
In year 2003 Hernando Barragan, a programmer developed an open source electronics development platform with software IDE, where anyone with a small knowledge in electronics and programming could use his project to give wings to their creativity. His focus was to reduce the burden of complexity in designing electronics hardware and software. The project was named as Wiring. The software IDE of the Wiring used processing language to write the codes.
As the program written in C\C++ is named as Project, in the same way the code written in Wiring (even in Processing and Arduino) is termed as Sketch. The name sketch gives a familiar look for an artist.
The principle idea behind Wiring is that one can make the sketch of their idea on Wiring software and implement it using specially designed Wiring board. You need to write a few lines of codes on the software IDE and then download the program to the onboard microcontroller to see the output.
Wiring has predefined libraries to make the programming language easy. Arduino uses these libraries. The predefined libraries are written in C and C++. One can even write his software in C\C++ and use them on Wiring boards. The difference between writing a program in C/C++ and Wiring is that the Wiring Application Programmable Interface (API) has simplified programming style and the user doesn’t require detailed knowledge of the concepts like classes, objects, pointers, etc. While sketching hardware you need to call the predefined functions and rest will be handled by the Wiring software.
The basic difference between the Processing and the Wiring is that the Processing is use to write the program which can be used on other computers while Wiring program is used on microcontrollers.