Search topics...

What processor architecture was the original Arduino based on?

0 upvotes
Practice with AISoon

The original Arduino boards were based on the Atmel AVR family of 8-bit microcontrollers — specifically Atmel megaAVR / ATmega parts. Early boards used the ATmega8, then ATmega168, and the classic Arduino Uno/Duemilanove settled on the ATmega328 (ATmega328P); the Arduino Mega used the larger ATmega1280/2560.

Architecture characteristics:

  • 8-bit RISC CPU core (Atmel AVR).
  • Harvard architecture — separate program (flash) and data (SRAM) memory spaces and buses (with separate EEPROM as well). This is in contrast to a von Neumann unified memory.
  • Modified Harvard / single-cycle execution for most instructions, with 32 general-purpose 8-bit registers.
  • On-chip Flash (program), SRAM (data), and EEPROM (nonvolatile data); integrated peripherals (timers, UART, SPI, I²C/TWI, ADC, GPIO, PWM).
  • Programmed in practice via a bootloader over serial/USB (and the AVR can also be programmed via ISP/SPI).

(Worth noting for completeness: this AVR/ATmega answer is about the original/classic Arduino. Later Arduino boards moved to other architectures — e.g., the Arduino Due uses an ARM Cortex-M3 SAM3X, and various MKR/Nano boards use ARM Cortex-M0+ or other MCUs — but the original Arduino was 8-bit Atmel AVR ATmega.)