The AVR is a Modified Harvard architecture 8-bit RISC single chip microcontroller. It wasdeveloped by Atmel in 1996. Harvard architecture means that the program and data are stored inseparate memory spaces which are accessible simultaneously. The AVR was one of the firstmicrocontroller families to use on-chip flash memory for program storage, as opposed to One-Time Programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.Flash memory is a nonvolatile (persistent on power-down) programmable memory. Low power and high performance AVR microcontrollers can handle demanding 8 and 16-bitapplications. With a single cycle instruction RISC CPU, picoPower technology, and a rich featureset, the AVR architecture ensures easy application development and fast code execution combinedwith the lowest possible power consumption. The well-defined I/O structure limits the need for external components and reduce developmentcost. A variety of timers, SPIs, UARTs, internal oscillators, pull-up resistors, pulse widthmodulation, Analog Comparators, ADCs and Watch-Dog Timers are some of the features availablefor engineers. It is interesting to note that most instructions only take a single clock cycle toexecute and there is no internal clock division. Whether you program in C, Pascal or assemblylanguage, the tuned AVR instructions decrease program size and development time. The AVR processor features a real life stack and its instruction set was designed and optimized for use withhigh level languages - it is easy to program these chips using C. AVR microcontrollers may be programmed using assembly or a higher level language. Learning to program it in assemblylanguage is a good idea, as it gives you in depth understanding of the internal operations. A comprehensive collection of application notes also kick-start problematic tasks. Since theintroduction of the classic AT90S1200 device with on-chip in-system programmable Flash andEEPROM memory in 1997, today's large AVR microcontroller portfolio consists of devicessharing a single CPU architecture. This makes it easy to find the AVR microcontroller for almostany application.