Actually these days even Baskin-Robbins has more, but not 505 like Atmel. That’s a lot. While some are AVR, both 8-bit and 32-bit, others are various flavors of ARM (all 32-bit) ranging from older parts like the ARM9 to various flavors of Cortex ranging from the M0 (tiny microcontroller with no pipeline or cache) up to A5. Of course, the ARM product line goes all the way up to 64-bit Cortex-A57 and so on — but they are not in any sense of the word microcontrollers and are really only used in SoCs and not standalone products.
But with 505 choices, how do you pick one? Fortunately, Atmel has made it easy for you to navigate the various flavors. With the help of the company’s MCU product finder, you now have the ability to input your hard constraints, while the tool will narrow down the choices. For example, if you want your microcontroller to have at least 64 Kbytes of flash, then there are only 257 out of the 505 that will suit your needs. For each parameter, users can set minimums and maximums — except for the yes/no choices.
When it comes to the selection process, there are several things that you can constrain:
- Flash memory (0 to 2Mbytes)
- Pin count (6 to 324)
- Operating frequency (1 to 536MHz)
- CPU architecture (pick from 8-bit AVR, 32-bit AVR, ARM 926 and 920, ARM Cortex M0, M3, M4, A5)
- SRAM (30 bytes to 256 Kbytes)
- EEPROM (none to 8 Kbytes)
- Max I/O pins (4 to 160)
- picoPower (yes or no)
- Operating voltage (various ranges from 0.7V to 6V)
- Operating temperature (various from -20oC to 150oC)
- Number of touch channels (none to 256)
- Number of timers (1 to 10)
- Watchdog (yes or no)
- 32KHz real time clock (yes or no)
- Analog comparators (0 to 8)
- Temperature sensor (yes or no)
- ADC resolution (8 to 16 bits)
- ADC channels (2 to 28)
- DAC channels (0 to 4)
- UARTs (0 to 8)
- SPI (1 to 12)
- TWI (aka I2C) interface (none to 6)
- USB interface (none, device only, host+OTG, host and device)
- PWM channels (0 to 36)
- Ethernet interfaces (none to 2)
- CAN interfaces (none to 2)
Wow, that’s a lot of options! But after a couple of dozen selections, you can narrow down your choice to something manageable. Here’s how the interface will appear:
Say for instance, I wanted to pick a microcontroller, an ARM Cortex of some flavor. Already choices are down to 189. I want 32K to 128K of flash (now down to 73 choices). I want it to run at an operating frequency of at least 64 MHz (now down to 10). I want 4K of SRAM (turns out all 10 choices already have that much). I need 4 timers. I am now down to 2 choices:
These two choices are the ATSAM3S1C and the ATSAM3S2C — both ARM Cortex-M3s. The first has 64K of flash and the second 128K. I can click on the little PDF icon and access a full datasheet for these microprocessors. If I don’t like the choices and I have some flexibility on specs, then obviously I can go back and play with the parameters to get some new options.
I can click on the “S” to order samples. However, in order to do this, you must already have an Atmel account. Or, with just another click on the shopping cart icon, I can obtain a list of distributors throughout various geographic regions, where I can actually place an order. It even tells me how many each of them have in stock!
For those of you ready to start searching, you can find the Atmel Microcontrollers Selector here.