I hope you all are fine; in the previous tutorial I have discussed the 7805 linear regulator, working and the circuit of the regulator. In this tutorial I will discuss the pinout of the ATMEGA 328 which is the microcontroller on which Arduino UNO development board is based.
After reading this post the reader will be able to learn about the ATMEGA 328 microcontroller, important features and specifications of the ATMEGA328 microcontroller and its pinout. So sit back, keep reading and enjoy learning.
ATMEGA 328 and Arduino UNO:
Arduino UNO is one of the most popular microcontroller development boards and it is used by electronics hobbyists, enthusiasts and students. The Arduino microcontroller development board is based on the ATMEGA 328 microcontroller which is a low power high speed, eight bit AVR microcontroller. The ATMEGA328 in the Arduino UNO microcontroller development board is as shown in the following figure:
Atmega328 Pinout for Arduino:
ATMEGA 328 microcontroller is an eight bit microcontroller based on the RISC (Reduced Instruction Set Computing) architecture. It has total 28 pins out of which some are GPIO (General Purpose Input / Output) pins and some are power pins. The ATMEGA 328 microcontroller can operate for a wide range of supply voltages that is it can operate for 1.8 volts to 5.5 volts. Some of the most important features of the ATMEGA 328 microcontroller are listed below:
In-System Programmable Flash:
The ATMEGA 328 microcontroller has 32 kilo bytes of In-System Programmable Flash memory.
General Purpose Registers:
The ATMEGA 328 microcontroller has total 32 general purpose registers. Each general purpose register is 8 bits wide and they perform a number of operations.[otw_is sidebar=otw-sidebar-2]
The ATMEGA 328 has total 1 kilo bytes of EEPROM (Electronically Erasable Programmable Read Only Memory).
Serial Communication Protocols:
The ATMEGA 328 microcontroller is equipped with serial communication interfaces that are of vital importance in embedded systems. The microcontroller has following communciations protocols:
SPI (Serial Peripheral Interface):
This interface consists of four signals MISO (Master In Slave Out), MOSI (Master Out Slave In), SCLK (Serial Clock) and CS (Chip select).
I2C (Inter Integrated Circuit):
The I2C interface is another important serial communication protocol. It consists of two wires SDA (Serial Data) and SCLK (Serial Clock).
The ATMEGA 328 has one Universal Asynchronous Receiver Transmitter.
The pinout of the ATMEGA 328 is as shown in the following image:
It is important to note that almost all pins of the ATMEGA 328 microcontroller except GND, VCC and AREF are multiplexed pins. By multiplexed it means that the single pin of the microcontroller have multiple functionalities on it. As an example consider the pin 18 of the microcontroller, this pin can act as MISO (master in and slave out) and in addition can also acts as the digital input / output pin. You can see from the above image similar is the case for MOSI (Master Out Slave In) and PCINT3.
At this most of you might be wondering that how the particular multiplexed can make to perform different functions. SO it is important to note that by default all these pins acts as the digital input / output and by using the particular libraries and functions the pins can perform various functions.
CHECK THIS LINK Arduino Simulator[otw_is sidebar=otw-sidebar-2]
That is all for now, I hope this tutorial would be helpful for you. This was just an introductory article there is a lot more to say about ATMEGA 328 microcontroller. In the next article I will come up with more interesting topics. Till then stay connected, keep reading and enjoy learning.