There are a significant number of people on earth that are confused between AVR and Arduino. This article is meant for them. If you are one of them, congratulations, you found a right place to clear out your confusion. In this article, I am going to point out the difference between AVR and Arduino.
AVR microcontrollers are the family of microcontroller developed by Atmel in 1996. It was one of the first microcontrollers which used ON CHIP Flash Memory for program storage, unlike its competitions that were using Programmable ROM at the time. There are many microcontrollers which comes under this family-Atmega16, Atmega 32, Atmega 328 etc. The microcontroller which belongs to the same family have similar internal architecture and because of that, the program written for one microcontroller is similar to the program written for another microcontroller of the same family. For example, All the programs which are written for the Atmega-16 microcontroller also run in Atmega-32 microcontroller. This allows a certain degree of platform independence(It’s not completely platform independent).
Arduino is an open source hardware and software company that manufactures DIY(Do It Yourself) electronics board for building digital devices. There are various boards this company offers- Arduino UNO, Arduino Mega. Most of these Arduino boards use a particular type of microcontrollers which is-AVR. Yes, you read it right. Arduino UNO uses Atmega328 and Arduino Mega uses ATmega2560 microcontroller. Some of the boards use ARM chip too.
Arduino offers a complete set of Software and Hardware kit for Embedded System Enthusiasts. They offer a whole IDE(Integrated Development Environment) to program the microcontroller. They have their own software to program the microcontroller called “Arduino-Software”. Needless to say that they have their own commands to do the particular task on the microcontroller.
“Although Arduino uses AVR microcontroller at it’s MCU, in this article, I am using AVR as AVR microcontroller without Arduino IDE”.
Advantages of Arduino
Arduino is an IDE(Integrated Development Environment) for the microcontroller it has. The software it uses to program the microcontroller is the Arduino-IDE. Therefore, it has its own set of commands to program it. Some of the advantages are listed below:
- Ready to use
- Examples of codes
- Excellent community support
- Easier than using AVR
- No need of using external programmer
Advantages of AVR over Arduino
The major advantages AVR has over Arduino that you can write a program for any other AVR microcontroller. You just need the datasheet of the particular microcontroller. For example, I can write the program for Atmega 16, Atmega 32, Atmega 8, Atmega 328. I may or may not need the development board to program the particular microcontroller. With the little bit of experience, I can develop my own board. With Arduino, I can only write the program for the microcontroller it’s using as an MCU.
Which one to Choose?
Well, this depends on you. If you want to learn about microcontroller and how it’s program works, I would recommend learning AVR over Arduino. But if you want to know some basic stuff and create awesome projects with that, Arduino would be a better choice because It has an excellent online community support. Also, it’s program are simpler that AVR too.