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.
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.