Unpacking Arduino using the datasheet

A discussion started by @Farhan @Ashish_Pardeshi @jtd. Please edit and continue building this up. The datasheet can be found here.

Arduino is a microcontroller ATMEGA328 packaged with a serial port for communication making it ready to use by plug-and-play.

ATMEGA328 is a microcontroller chip of RISC (reduced instruction set computer) architecture. One can contrast this with the CISC (complex instruction set computer) architecture of popular microcontrollers like Intel or AMD found on most of our computers.

These architectural aspects determine the way memory is allocated and the instructions are executed. Some reading here about von Newmann machine and Harvard architecture could be useful. Also see

ATMEGA328 has many features making it easy and effective to use.
High Performance, Low Power Atmel ® AVR ® 8-Bit Microcontroller Family

  • Advanced RISC Architecture
    • 131 Powerful Instructions [Its lexicon or dictionary has 131 ready to use instructions]
    • Most Single Clock Cycle Execution [And it can execute many instructions in single clock cycle]
    • 32 x 8 General Purpose Working Registers [The on-chip registers allow faster execution. Please note the registers are also memories but different from capacitive memories like flash memories (like pen drives) or those on RAMs]
    • Fully Static Operation [The execution can be fully static @jtd please elaborate on this]
    • Up to 20 MIPS Throughput at 20MHz [due to the above features, it can execute at 20 million instructions per sec speed]
    • On-chip 2-cycle Multiplier [a hardware multiplier in its Arithmetic logic unit (ALU) reduces the number of instruction cycles for multiplication operations]
  • High Endurance Non-volatile Memory Segments
    • 32KBytes of In-System Self-Programmable Flash program Memory
    • 1KBytes EEPROM
    • 2KBytes Internal SRAM
    • Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
    • Data Retention: 20 years at 85°C/100 years at 25°C (1)
    • Optional Boot Code Section with Independent Lock Bits
      • In-System Programming by On-chip Boot Program
      • True Read-While-Write Operation
    • Programming Lock for Software Security