Electronic – Atmega naming scheme (324p vs 328p)

atmegaavrmicrocontroller

I am looking into AVR chips (big fan) for a personal project. I need capabilities similar to Arduino Uno, so I recently compared Atmega 328p and Atmega 324p.

To my surprise the 324p has significantly more features and on-board hardware than the 328p. To me, higher model number == more powerful/more features product, so discovering this slightly confusing me.

Could anyone explain to me why Atmel chose such weird convention for naming their chips? I know this is not a big deal, but for the future reference I would like to know how to choose AVR MCU's for my needs properly (their buyers guide is not very helpful).

edit: the 328p consumes twice less amount of power, so is it all down to smaller, less power hungry product?

Best Answer

The numbers of Atmega devices follow a quite simple basic scheme. Let's take the Atmega644PA-AU as an example.

  • "64" The first digits always mark the size of the Flash in Kibibyte
  • "4" The last digit marks the series of chips. Within a series they are often pin-compatible and share a similar set of features. Some prominent series are:
    • 'no digit' - these are the first generation chips with 8 to 128 kiB Flash
    • '8' - a series from 4 to 32 kiB Flash, all in the same housing. More or less an improved version of the original chips
    • '4' similar to '8', but in larger packages with more pins (~40 instead of ~30) and up to 128 kiB Flash
    • '5' similar to '4', but with more timers and PWM channels
    • '0','1' rather old family with large packages (60 - 100 pins) and up to 256 kiB Flash.
    • '9' with integrated LCD controller
    • 'U2', 'U4' are the two sizes of USB-enabled controllers
    • '08', '09' newest family with additional configurable logic and more CPU-bypassing features
    • '50', '90' the largest chips with 100 pins, but few peripherals
  • 'PA':
    • 'A' and 'B' are newer revisions, usually without major changes.
    • 'P' is 'pico-power' - chips with very deep sleep modes and quite low power consumption, ideal for battery-powered applications
    • 'L' and 'V' are sampled for lower voltage operation at slower clock speeds (old series only, newer have this 'built-in').
  • '-AU' The letters after the dash mark
    • the kind of packaging (LGA, DIP, QFN...)
    • the temperature range (industrial, consumer)
    • the shipping packaging (tube, reel)
    • default fuse settings (e.g. internal oscillator on 32U4)
    • lead content (obsolete)

The even smaller Attiny controllers follow a similar scheme, but have more and smaller families with more specialized sets of features. Notable is the Attiny[2,4,8,16,32][0,1][4,6,7] (e.g. Attiny204 up to Attiny3217) series that extends the Atmega[8-48]0[8,9] towards smaller memory and fewer pins.

There are a few Atmega that don't follow this scheme, e.g. 3250, but these are minor exceptions.


In summary: You can learn quite a lot about the device from its number, but for details and precise numbers you always have to look into the datasheet. Microchip offers a handy Quick Reference Guide where families of chips are grouped - but be careful, some entries are wrong (e.g. 324PB, 32U4).

Basic buying guide for Atmega: Use a ..4 or ..8, depending on the number of I/O and peripherals you need. 'P' and 'B' are always favorable. For communication with a PC, use a U2 or U4. Battery powered devices that have to react on external signals might profit from the new ..[0-1][4-9] series.

For special needs, check the rest of the species.