# Why are Atmel AVRs so popular?

A recent question asked about the advantages/disadvantages of various types of MCU. AVRs seemed not even worth a mention given the answers. Why then does it seem to an outsider that AVRs are experiencing a rush of popularity? Is this solely due to the Arduino, or is there something else that makes the AVR an especially good microcontroller?

• Moderators: This should be a Community Wiki question. – Jason S Apr 22 '10 at 12:29
• And are they as popular in industry as they are in the hobbyist world? – endolith Apr 22 '10 at 14:12
• Apart from all the good points in the answers: "The AVR was one of the first microcontroller families to use on-chip flash memory for program storage." (Wikipedia) – Sz. Nov 6 '15 at 18:00

The AVR family has a lot of good, inexpensive, hobbyist-friendly devices with nice peripherals, low power consumption, and good cross-platform support.

Yes, Arduino is a big part of it. But I think that Arduino came to exist the way that it did -- and to the success that it has -- partly due to those features.

• Good: They work well. Easy to program in C for most basic functions. Adequate documentation.

• Inexpensive: Lots of $3-$5 parts, available from major distributors in small quantity.

• Hobbyist friendly: Parts in through-hole packages-- a big contrast to many of the chip families out there today. Newer AVR (e.g., xmega) devices are less so.

• Nice peripherals: Built-in oscillator, flash memory, on-board RAM, serial ports, ADC, EEPROM, and the other goodies that make it possible to run a single MCU on a protoboard to do basic stuff, without too much hassle.

• Low power consumption. AVR's major pitch point these days. Suckers can run on a battery almost forever if you know what you're doing.

• Good cross-platform support: The AVR was designed with C support in mind-- not as an afterthought. GCC support came early, and a big open source community developed around that. It's still one of the best MCUs that you can develop from any platform with free tools. This is a big one with respect to the other families, many of which use proprietary compilers or have lackluster gcc support. Even PIC was pretty late to the game with good free C compilers.

As for why there wasn't much about it in the replies to your earlier question, I think that (1) you're seeing small sample bias and (2) many of the answers were specifically to discuss non-AVR solutions-- because so much of the discussion on this site is AVR/Arduino-centric. Most of the microcontroller families aren't represented in your list as of this writing-- including some that I use regularly, and others that are among the most popular in the world.

• I agree that the availability of a C toolchain was likely a factor in AVR's hobbyist success. A few years ago when I started dabbling in micros from a software background the options were BASIC Stamp, which was great for beginners but the development environment was not really satisfying to a programmer. There was PIC, which I believe only had an assembler available for free at the time, which is OK but I didn't feel like ASM. Then there was AVR which had avr-gcc, I could program like a programmer, AVRs were versatile and easy to wire into projects and programmers were cheap and easy to build. – Suboptimus Oct 14 '11 at 23:18

I started out using PICs but later switched to AVRs. I switched because there's GCC for AVRs. This gave me an environment that I was used to, for free, and let me compile code on Linux/OSX, not just Windows.

Although there are plenty of C compilers for PICs these days, some even for Linux - they all have their own quirks which I didn't want to learn.

• +1 gcc FTW! We've been trying to use a couple of Microchip C compilers, and their interpretation of the C-spec has caused invectives to emanate from a coworkers cube. He wishes he had gcc. – J. Polfer Apr 22 '10 at 20:53
• I've started to like the Microchip C18 compiler now that I’ve gotten use to it. Learning how to use #pragma and the interrupt vectors was probably the hardest part. The C libraries they provide can save a lot of development time. – mjh2007 Apr 27 '10 at 17:14
• I don't like the PIC18/PIC16's compilers, but I do like the 24F and dsPIC30F/33F compilers, which are based on GCC. – Thomas O Oct 4 '10 at 9:28

From what I have seen AVRs have experienced a rush of popularity only in niche markets like hobbyist tools and rapid prototyping applications. AVR has done an excellent job of getting cross-platform tool support on Linux, MAC and PC.

Everyone I talked to that is using microcontrollers in OEM applications is either using PIC, some sort of ARM variant or an MSP430 (only for low power applications). I have yet to come across anyone using an AVR.

• I've come across a few professionally. I suspect that the hobbyist market as a whole is a drop in their bucket. – Windell Oskay Apr 22 '10 at 11:34
• I agree with that. I do not believe that a microcontroller (or probably most semiconductor companies) would survive long if their primary market has hobbyist. There wouldn't be enough volume. The hobbyist market may be a drop in the Atmel bucket but it does seem like a small bucket ;) Maybe there should be a follow-up question -- What companies and types of OEM applications use Atmel microcontrollers? – jluciani Apr 22 '10 at 11:46
• I use AVR32 in professional products. It knocks spots off the ARM cortex-M3 devices (in my application). I have looked at AVR8 but they never quite made it. MSP430 beat them soundly. – uɐɪ Apr 22 '10 at 12:20
• @Ian What types of products? – jluciani Apr 22 '10 at 14:08
• @jluciani Very small, low power satellite data modems. The low power modes of the MSP and AVR32 are excellent with RAM data retention. The ARM low power modes (except for the new energy micro parts) do not allow usart operation in the low power state and often do not keep RAM contents. – uɐɪ Apr 26 '10 at 13:36

Microchip's PIC is number one in 8-bit MCU sales and the AVR is fifth. That could explain why the AVR doesn't get mentioned as often as other devices.

• Before I got into microcontrollers and electronics, I had heard of "PIC" and I had not heard of "AVR" (though I had heard of Arduino). – terrace Apr 22 '10 at 15:15
• 'PIC' seems to have become a generic term for an MCU in some ways, like 'Hoover' for a vacuum cleaner. – Leon Heller Apr 22 '10 at 18:53
• And I thought that "PIC" was a "four letter word" !!! – uɐɪ Apr 27 '10 at 10:31
• (generic word) No it hasn't. – tissit May 18 '10 at 8:07
• citation needed – joeforker Jun 23 '10 at 13:10

Arduino is irrelevant or you'd be asking why is Arduino so popular and not why AVR. AVR's have been "popular" for a while completely regardless of Arduino. Arduino is a product of the same things that made AVR attractive. It's another product, another devkit. AVR is not popular in units delivered where 8051's in devices and PIC's in smartcards or whatnot have massive numbers or in cellphone and PC markets where the AVR doesn't even compete.

Instead of popular, you could say AVR is attractive. And it is. The main points already came out: It's available and inexpensive, requires very little components or board features (clocks, buses...), is easily ISP and above all, there's good software support. You get a real compiler, programming software and hardware designs, docs, samples, libraries, all free as in freedom. You don't have to fight vendors and wonder if you're code size limited or hear that your compiler has been discontinued or won't run on any operating system from this decade. If not before, then once you've been bitten enough times, you'll appreciate open tools and docs where nobody dictates what you can and can't do or know.

There are two main manufacturers of μC and the eternal dilemma Pic-Atmel. I cannot recommend to anyone what to choose, but I can explain the reasons that made me go for Atmel. Some of those reasons are unknown even to myself – maybe I liked more the way it sounds – but I felt more attracted to this family because it seemed to me much closer to the old Z80 microprocessor and that I used for several beautiful projects back when I was younger.

What can I say, if you decide to go in one direction, just stick to it and remain loyal to that family, according to the principle that it is better to know one thing completely than two things halfway.

• Have you ever heard of ST or NXP? How about Texas Instruments? Freescale? Also, PICs are a family of microcontrollers manufactured by a company called Microchip. Pic is not a manufacturer. – Joe Baker Dec 8 '12 at 10:26