What is Arduino? Introduction to Arduino Platform

Arduino:

                     The Arduino is an open-source computer hardware/software platform for building digital devices and interaction objects that can sense and control the physical world around them.

Arduino Environment:

It involves 3 components:
  1. Arduino IDE for programming
  2. Arduino board
  3. shields

1) Arduino IDE:

                            I explained about Arduino IDE in this post: Introduction and Getting Started with Arduino IDE 2.0.

2) Arduino Board:

                            It is an 8-bit microcontroller. It is programming hardware consists of ATmega328P processor. It has USB programming interface. There is a software installed on the Arduino that handles the USB programming interface. The sketch(program) we upload on IDE stores in ATmega328P which executes the program.

Arduino UNO R3
Arduino UNO R3 link: Click here
Two types of codes execute on a simple microcontroller:

1) Application code:

                    This is the code that we write which executes the system's main functionality.

2) Firmware:

                    Firmware is the code that we don't modify. It is the low-level language code which supports the main functionality. e.g., USB interface, power modes, reset, etc. Arduino firmware is pre-programmed.

Bootloader:

                    The firmware on the microcontroller is the bootloader. It allows the flash and EEPROM (Electrically Erasable Programmable Read Only Memory) to be programmed. It manages the USB communication since application is programmed via USB.
The Bootloader can't reprogram itself.

In-Circuit Serial Programming (ICSP):

                     A special programming method to program the Bootloader or Firmware because the bootloader can't reprogram itself. For this purpose, we have ICSP headers on the board. We have to buy devices to program the processor.

3) Shields:

                Shields are also called daughter boards having unique functionality and easy to attach. These smaller boards that plug into the main Arduino board perform other functions such as sensing lights, heat, GPS tracking or providing user interface display, ultrasonic sense, etc. They can be stacked directly on the top of the Arduino. Libraries exist to make interfacing simple. These are the open-source hardware that can be purchased.


Ultrasonic sensor HC-SR04
If you have any queries do let me know in comments. If not, you can say hi too. I love it 🙂.