Tag Archives: Product Selector

All tiny AVR parts in a spreadsheet

I just made a spreadsheet of all the tinyAVR parts. All my pals love the MCU selector guide, but I have a lot of analog dinosaur buddies that prefer a spreadsheet to a web-based interface. You can sort the data and this spreadsheet has the filter box on the columns, so you can sort out things you care about and exclude the things you don’t. The spreadsheet fits on a 24-inch display, and you can print it out on a single B-sized sheet and use it as an infographic.


This screenshot shows how all the tinyAVR parts will fit on one 11×17 ledger-sized or B-sized sheet of paper.

I started with an Excel dump of the selector guide after adding every single parameter to the search. I then took all the tinyAVR parts, and rearranged the columns, throwing out the irrelevant ones. I also combined the automotive parts with the basic parts. That added two columns for automotive temp and automotive Vcc range. Adding 2 columns to remove 13 rows seemed like a good deal. The part name links to the product page on our website.

I made a column for each package. That took a long time. Semiconductor companies think of a part as the silicon die, with the package being almost irrelevant. We systems folk know the package might be the most important thing. I tried to put the smaller packages on the left, with those big ol’ DIP (dual-inline plastic) parts on the right side. There is a second sheet in the spreadsheet that shows all the parts by number and there I put the package size, in mm. In both sheets, the package name links to the definition page on our website.


The second sheet of the spreadsheet shows all the tinyAVR parts by number. I put the exact package size on this page.

Besides the packages and package size, I also spent a long time getting pricing. My buddy Wayne Yamaguchi requested this, and he is absolutely right, price is the most important spec of any part, and I hate when it takes 5 clicks to find it. These prices are a bit sketchy. All I did was click on the “Buy” link and select a handful of parts from each family, and then looked at the Digi-Key price, in 1000s. I put in the highest and lowest of the few I selected, but this is by no means scientific or dispositive, as the lawyers would say. What I should do is put the price in the “Package” column, so you know what the package is and what price we charge, but many parts are in the same package but have two Vcc ranges, so there is no unique way to encode this and keep the spreadsheet on one printable page. Maybe I can blow out the second page to show every orderable part number and its price and specs. Always time to do it over, never time to do it right.

The major thing I want to add is the OrCAD 9.2 footprint name for the packages. I am afraid to do this now, since we have all been burned by narrow-DIP/wide-DIP and narrow -SOIC/wide-SOIC and what pin numbering to use on SOT parts, so that will have to wait for next time. If anyone has a proven definitive list of the OrCAD footprints, please let me know. paul.rako[yeah, the at sign]atmel.com

You can highlight all the parts and use the “Data>Sort” function to order them any way you want. I did it by Flash memory size and part name. You can also use the little filter boxes on each column to include or exclude, or even put in a logical range with equal or less than or all the other things. Its not exactly grep or regular expressions, but it can get the job done helping you to find the right part.


Excel filter boxes let you select just the parameters you care about.

I am told this spreadsheet works OK in Open Office/Libre. My pal Dave asked that any columns that are filtered be lit up red, but that takes a macro, and the VB macro may not work in Open Office, we are checking for that. Meanwhile, check there are 36 part families or that the little filter box does not have 3 pixels different to show the filter is on.


When you have filtered a column, it is almost impossible to tell, since the only indication is the icon makes this 3-pixel change.

Weasel weasel, CYA CYA, legal boilerplate—this is a hobby job, not an official Atmel document. If the selector guide had it wrong, it is wrong here too. I made my own mistakes too. And I already told you the pricing and the tiny1634 stuff was dicey. What I am hoping is that I can get some community support where you point out the errors, and tell me what to add. paul.rako[yeah, the at sign]atmel.com I also ask that you send this URL link to your pals, instead of just emailing the spreadsheet. That way the bosses will see you like this, and I can have the time to keep working on it.


If Hans Camenzind, the inventor of the 555 timer chip was still alive, he might have a copy of the tinyAVR spreadsheet up on his office wall. I miss Hans, at least he came to my Analog Aficionados party one year, before we lost him to the Grim Reaper.


Baskin-Robbins only has 31 flavors, Atmel has 505

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.

This post has been republished with permission from SemiWiki.com, where Paul McLellan is a featured blogger. It first appeared there on March 2, 2014.