EX N0 2: Development of Barebone Arduino Platform: Development of Barebone
Arduino Platform with ATMega8/328 Microcontroller
a. Blink 3 LED’s one after the other
b. Interfacing LED with push button
Introduction to ATMega8/328:
The ATmega328 is an 8-bit microcontroller belonging to the AVR® family, widely known
for its efficiency and versatility in embedded systems, particularly for beginner-friendly
platforms like Arduino. Following are its features, pin configuration, benefits and an
application example.
Features of ATmega328
• Architecture: 8-bit AVR® RISC architecture.
• Operating Voltage: Typically 2.7V to 5.5V for ATmega328P.
• Clock: 128 kHz Internal Oscillator
• Up to 16MIPS throughput at 16MHz
• Memory: Flash Memory: 32 KB (program storage), SRAM: 2 KB, EEPROM: 1 KB (non-
volatile memory)
• GPIO (General Purpose Input/Output): 23 programmable I/O pins.
• Two 8-bit Timer/Counters with separate prescaler and compare mode
• One 16-bit Timer/Counter with separate prescaler, compare mode, and capture mode
• ADC (Analog to Digital Converter): 8-channel 10-bit ADC
• Communication: UART , I2C , SPI
• Power-Saving Modes: Multiple power-saving modes, including Idle, Power-down, Power-
save,
Standby and Extended Standby
• Interrupts: External and internal interrupts for managing asynchronous events.
• I/O: 23 programmable I/O lines
• Speed Grade: 0 to 8 MHz (at 2.7 to 5.5V), 0 to 16 MHz (at 4.5 to 5.5V)
• Packages: 32-lead TQFP,
and 32-pad QFN/MLF
Benefits of ATmega328
1. Low Power Consumption: Efficient power management with sleep modes to
conserve energy, making it ideal for battery powered applications.
2. Versatile and User-Friendly: Easily programmable with open-source platforms like
Arduino, supported by a large community and extensive libraries.
3. Wide Range of Peripherals: Built-in ADC, timers, PWM capabilities, and
communication interfaces make it suitable for various applications.
4. Cost Effective: Inexpensive and widely available, making it an accessible choice for
prototyping and educational purposes.
The ATmega328's adaptability, simplicity, and powerful features make it a reliable choice for
numerous embedded applications, from basic automation to complex control systems.
Boards Manager Installation
This installation method requires Arduino IDE version 1.8.0 or greater.
1. Open the Arduino IDE.
2. Open the File > Preferences menu item.
3. Enter the following URL in Additional Boards Manager URLs:
https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
4. Open the Tools > Board > Boards Manager... menu item.
5. Wait for the platform indexes to finish downloading.
6. Scroll down until you see the MiniCore entry and click on it.
7. Click Install.
8. After installation is complete close the Boards Manager window.
Programming ATmega8 Using Arduino IDE - Hackster.io