Arduino is a hardware and software programming platform based upon Atmel ATmega microcontrollers. It is an open-source platform which means all the codes and libraries are openly available and easy to modify by students, beginners, and experts in the Arduino community. Arduino is popular among people as it doesn’t need any external hardware for programming. It is a development board based upon microcontroller and easy to program by just using USB cable.
Is Arduino a Microcontroller
Is Arduino a microcontroller? In general, this might be difficult to answer. It’s the same as saying “Is a PC a CPU?” Answer will be No because a PC contains a CPU inside it, same is the case here with Arduino. In order to answer this question first we need to understand the difference between an Arduino board and a Microcontroller. To make this clearer we must discuss them separately.
Arduino: A Development Board
Arduino is a platform that combines both hardware and software to interact with the real world in an easy way. Arduino boards are made to use microcontrollers easily. Arduino is a development board that contains a microcontroller chip; it has multiple input, output pins that communicate with microcontrollers. Arduino boards can program a microcontroller chip using Arduino IDE, a development software and observe the output right on Arduino board or by integrating external electronic circuits.
Arduino board is a complete development environment that consist of following:
- Arduino Board (which contains microcontroller along with other components)
- Arduino IDE
- External electronic hardware or shields
Arduino cannot be defined as only a microcontroller but a development board with a AVR controller chip along with a programming environment which have pre-tested hardware components and software libraries to control anything from blinking led to motors or sensors.
Along with Microcontroller Arduino has a lot other component as well such as:
- USB converter
- Reset button
- DC barrel jack
- 5V regulator
- 3V regulator
- USB-TTL converter
- Microcontroller ATmega328p
Microcontroller is a small compact integrated circuit that contains CPU, RAM, non-volatile memory, ADC, DAC, and different types of communication controllers such as USRT, ICSP and USB. Prime use of a microcontroller is to control a specified task stored in its non-volatile memory that doesn’t change until re-written or flash.
A single microcontroller chip is nothing, it needs a separate programmer board to write a program in its memory. In order to build a project, we need a breadboard or Veroboard for connecting other circuit components and a separate DC supply to give power to the microcontroller.
The Arduino board contains the same microcontroller chip along with other circuit components. Without the Arduino board this microcontroller cannot operate even a single instruction.
Arduino with Microcontroller
Arduino is a platform that simplifies the use of Microcontrollers. Anyone can interact with a microcontroller in an easy way using the Arduino development platform. Microcontroller chips require an external circuit with many different parts to operate. Arduino designed a single PCB board with all essential components required to operate a Microcontroller. Further Arduino programming tool known as IDE uses a simplified version of C++ language which makes user interaction with hardware a lot easier.
To summarize, I will say that Arduino itself is not a microcontroller but a development board with its own programming environment and hardware support. We can interface multiple Arduino shields and boards together to design electronic projects but we cannot use microcontroller stand alone in projects; it needs a supportive circuit to read and write instruction.