ATMega328 Pin Configuration
ATMEGA328P is a 28 pin chip as shown in pin diagram above. Many pins of the chip here have more than one function. We will describe functions of each pin in below table.
Where to Use ATMEGA328P
Although we have many controllers ATMEGA328P is most popular of all because of its features and cost. ARDUINO boards are also developed on this controller because of its features.
- With program memory of 32 Kbytes ATMEGA328P applications are many.
- With various POWER SAVING modes it can work on MOBILE EMBEDDED SYSTEMS.
- With Watchdog timer to reset under error it can be used on systems with minimal human interference.
- With advanced RISC architecture, the controller executes programs quickly.
- Also with in chip temperature sensor the controller can be used at extreme temperatures.
These all features add together promoting ATMEGA328P further.
How to Use ATMEGA328P
ATMEGA328 is used similar to any other controller. All there to do is programming. Controller simply executes the program provided by us at any instant. Without programming controller simply stays put without doing anything.
As said, first we need to program the controller and that is done by writing the appropriate program file in the ATMEGA328P FLASH memory. After dumping this program code, the controller executes this code and provides appropriate response.
Entire process of using an ATMEGA328P goes like this:
- List the functions to be executed by controller.
- Write the functions in programming language in IDE programs.
You can download the IDE program for free in company websites. IDE program for AVR controllers is ‘ATMEL STUDIO’. Link for ATMEL STUDIO is given below.
(Usually Atmel Studio 6.0 for Windows7 [ http://atmel-studio.software.informer.com/6.0/ ],
Atmel Studio 7 for Windows10 [ https://www.microchip.com/avr-support/atmel-studio-7 ])
- ATMEGA328P programming can also be done in ARDUINO IDE.
- After writing the program, compile it to eliminate errors.
- Make the IDE generate HEX file for the written program after compiling.
- This HEX file contains the machine code which should be written in controller flash memory.
- Choose the programming device (usually SPI programmer made for AVR controllers) which establishes communication between PC and ATMEGA328P. You can also program ATMEGA328P using ARDUINO UNO board.
- Run the programmer software and choose the appropriate hex file.
- Burn the HEX file of written program in ATMEGA328P flash memory using this program.
- Disconnect the programmer, connect the appropriate peripherals for the controller and get the system started.
How to Use ATMega328P using Arduino
Since ATmega328P is used in Arduino Uno and Arduino nano boards, you can directly replace the arduino board with ATmega328 chip. For that first you need to install the Arduino bootloader into the chip (Or you can also buy a chip with bootloader – ATMega328P-PU). This IC with bootloader can be placed on Arduino Uno board and burn the program into it. Once Arduino program is burnt into the IC, it can be removed and used in place of Arduino board, along with a Crystal oscillator and other components as required for the project. Below is the pin mapping between Arduino Uno and ATmega328P chip.
There are hundreds of applications for ATMEGA328P:
- Used in ARDUINO UNO, ARDUINO NANO and ARDUINO MICRO boards.
- Industrial control systems.
- SMPS and Power Regulation systems.
- Digital data processing.
- Analog signal measuring and manipulations.
- Embedded systems like coffee machine, vending machine.
- Motor control systems.
- Display units.
- Peripheral Interface system
|Item Height||18 Millimeters|
|Item Width||31.4 Centimeters|
|Screen Size||13 Inches|
|Item Weight||1.6 Kg|
|Product Dimensions||21.9 x 31.4 x 1.8 cm|
|Item model number||MF841HN/A|
|Processor Type||Core i5|
|Processor Speed||2.9 GHz|
|RAM Size||8 GB|
|Hard Drive Size||512 GB|
|Hard Disk Technology||Solid State Drive|
|Graphics Coprocessor||Intel Integrated Graphics|
|Graphics Card Description||Integrated Graphics Card|
|Operating System||Mac OS|
|Average Battery Life (in hours)||9|