What is Arduino?

Introduction

Arduino is an open-source platform based on flexible and easy-to-use hardware and software. Arduino software called Arduino IDE has different examples and many open-source libraries we are free to use and can see code of that libraries and we can change it according to our requirements. Arduino doesn’t need a programmer you can load code with a USB cable. It can interact with the world by using sensors as inputs and actuators (e.g. Temperature sensor, IP sensor, Ultrasonic, and motors, etc).

Arduino family have different kinds of board like Arduino Uno, Arduino Mega, Arduino MKRZero, etc. We will use Arduino Uno because first, we learn Atmega328/P. When we will cover the maximum task and datasheet content of Atmega238/P then we can easily work on any other microcontroller.

Software

Arduino IDE

Arduino IDE is open source software we can easily write code and upload it to any Arduino board. We can download it from Arduino’s official website.

Arduino IDE

Atmel Studio

Atmel Studio is an integrated development platform for developing all AVR and SAM microcontrollers. We can easily program Arduino with Atmel Studio, but it needs an Atmel ICE programmer.

Atmel Studio

Hardware

Arduino Uno

Arduino Uno Board is based on an Atmega328/P microcontroller. It has 4 digital input/output pins (of which 6 can be used as PWM outputs), a UART (Serial in & Serial out Tx/Rx), In-circuit programmer (ICSP) PINs, 6 Analog input PINs (A0 to A5), 2 ground PINs, 2 power PINs (5V & 3V), a reset button, 16 MHz ceramic resonator and USB plug for USB connection.

Arduino Uno

Arduino Uno Schematic

For Register level coding (RLC) of Atmega328/P, we must have to familiar with a schematic of Arduino Uno. In the further posts, we will see it’s very helpful to write code Atmega328/P.

Arduino Uno Schematic

Atmega328/P Arduino Pin Mapping

Arduino Uno is based on Atmega328/P and its PINs are mapped with this microcontroller, It is also very important to know about PINs mapping. we can see PIN mapping in the following image.

ATmega328/P Arduino Pin Mapping

Why Arduino Uno

Open source

Arduino IDE is open source it has different examples for Arduino Uno board and many open-source libraries, and Hardware is also open source.

Programming Environment

The Arduino Software (IDE) is easy-to-use for beginners, we can easily write code with C++ language and program any Arduino Uno board

Atmega328/P Microcontroller

For learning purposes, we have focused on Atmega328/P, and the Arduino Uno board is based on this Microcontroller.

Register Level Coding(RLC)

We can write code for the Arduino Uno board as register-level coding by using Arduino IDE.

Get Started with Arduino Uno

Now it is time to start practically working on Atmega328/P by using the Arduino Uno board. We will start from a very simple task to advance tasks, first, we use Arduino software and Arduino built-in libraries to perform any simple task, then we try to implement it with register level coding (RLC) at Arduino IDE.

After that, we will use that register level code to program Atmega328/P on the Arduino Uno board by using Atmel Studio. To program the Arduino Uno board with Atmel studio we need an Atmel ICE programmer and ICSP PINs of Arduino Uno.

NOTE: I asked many persons “You have familiar with any microcontroller?” some of them answered, “Yes, I have some know-how about Arduino microcontroller.” It’s the wrong concept, Arduino is not a microcontroller it is a platform that has different kinds of boards(Uno, Nano, Mega, and MKRZero, etc).

Bottom Lines

Arduino is an open-source platform, we are free to use Arduino Software, libraries, and hardware to build our project, it is a very flexible platform we can easily write code with libraries to achieve our task, but for learning microcontroller from simple to very advanced level, we must use Register level coding(RLC), so Arduino Uno is suitable for this, we will use Arduino software and Atmel studio to learn microcontroller and also Arduino board.

1 Comment

Comments are closed.