Photo: Peter Halasz
Atmel’s ATmega8 is one of the seed crystals of the modern maker movement. It’s at the heart of the first generation of the Arduino board to be widely adopted by electronics tinkerers of all types, and those cheap, robust, and easy-to-use boards have found their way into countless projects.
The ATmega8 comes from the AVR line of microcontrollers, originally developed in the early 1990s by two students at the Norwegian University of Science and Technology, Alf-Egil Bogen and Vegard Wollan. Microcontrollers differ from regular processors in that they typically have their own on-board program memory and RAM, rather than relying on external chips for these resources: They were already pretty common in embedded applications by the time Bogen and Wollan were in university, but the two students were unimpressed by the microcontrollers on the market at the time. “I found them very hard to use…. The learning curve to get to use them was hard; I found the development tools crappy. And also I saw that the performance of the products were not where I wanted it to be,” Bogen explained for an oral history. They decided to make a RISC-based processor (one that has a limited set of machine code instructions as a trade-off to increase processing efficiency) with an emphasis on making something that would be easy to program and relatively powerful. The “instructions and stuff were things we were actually thinking of from the very beginning to make it efficient and easy to use from a high-level point of view,” says Wollan in his history.
The AVR microcontrollers have another significant difference from the computers most people work with on a day-to-day basis. These typically use what’s known as a von Neumann architecture, where programs are loaded into, and executed from, RAM. AVR’s use a “Harvard architecture,” in which program memory and working RAM are kept separate. In Bogen and Wollan’s prototypes, the program memory was in the form of a ROM that couldn’t be reprogrammed once written. But the former students found a perfect home for their AVR design in Atmel, a company that had originally made its bones as a memory chip company. Easily programmed (and reprogrammed) flash memory was added to the processor core, and the first commercial AVR chip, the AT90S8515, was released in 1996.
But it would be with the ATmega8, and its sibling chips such as the ATmega328P used in current Arduino’s, that Bogen’s and Wollan’s student dream of an easy-to-use, high-performance microcontroller with great development tools would reach its ultimate expression.
Early versions of the Arduino microcontroller board used the ATmega8. Current versions use a more advanced AVR chip, the ATmega328P, which can run at up 20 megahertz.Photo: Arduino