Chapter 2. The AVR Microcontroller

Because an AVR-based Arduino is really just a physical platform for an AVR microcontroller (i.e., a breakout board), the electrical characteristics of an Arduino are essentially those of the AVR device on the PCB. Understanding the low-level details of an Arduino is really a matter of understanding the AVR device that powers it. To that end, this chapter presents broadly applicable material consisting of high-level descriptions of the main functions utilized in the AVR family. This includes the AVR CPU and the so-called peripheral functions such as timers, counters, serial interface logic, analog-to-digital (A/D) converters, analog comparators, and discrete digital I/O ports.

AVR microcontrollers are available in a wide variety of configurations and package types, which makes writing a chapter like this something of a challenge. Fortunately, the various types of 8-bit AVR devices use a common central processing unit (CPU) and a modular internal architecture built around an internal data bus. This allows for each variant to incorporate different combinations and quantities of functional modules into the AVR’s internal circuitry to meet specific design requirements and support different intended applications.

Due to practical limitations of space, the descriptions in this chapter are necessarily terse and focused on the essential characteristics, and don’t provide may of the low-level details that can be found in the reference documentation available ...

Get Arduino: A Technical Reference now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.