This very question stems from the need to cater application requirement as perfect as possible. When it comes to selecting a MCU based on parameters, almost all the manufacturers do provide parametric search engines / filters on their websites to choose the MCU from. However, most of the times the results from these filters are so much pointed that either you get a right choice or end up scratching your heads. In either case, these don’t help in just picking an MCU due to many other factors involved in selection. Let us see some of the critical consideration factors for choosing a microcontroller for an application…
This very question stems from the need to cater application requirement as perfect as possible. We don’t see a major difference between different families of the same class despite being from different vendors. Only because one company is more familier and may have practiced on XYZ company microcontrollers, MCUs manufactured by XYZ would be preferred over the others.
However, it must be noted that almost all the MCU manufacturers have competitive specifications and product-line in each segment, which means although there won’t be pin-to-pin matches you will easily find replacements for certain MCU from each of these manufacturers. And therefore, familiarity, convenience, prior relations, etc. would suggest which MCU to be selected for first filtering.
When it comes to selecting a MCU based on parameters, almost all the manufacturers do provide parametric search engines / filters on their websites to choose the MCU from. However, most of the times the results from these filters are so much pointed that either you get a right choice or end up scratching your heads. In either case, these don’t help in just picking an MCU due to many other factors involved in selection. Let us see some of the critical consideration factors for selecting of MCU for an application.
Basic MCU Family:
First step usually is to figure out which family or category of MCU to select from; such as 8 bit, 16 bit or 32 and above ? Within that category, are we needing any specific features or not ? And since, almost all the MCUs have basic requirements these days such as GPIOs, USARTS, high current driving pins, I2C, SPI, etc. these points are either moot or are lower in priority (as all the MCUs from certain vendor in certain family will have those features).
Electrical Characteristics:
These are often considered as a non-significant parameters by us for a simple reason that – for a given MCU supplier and selected family, electrical characteristics are almost the same for every type of part; and thus changing from one part to another may not affect electrical parameters. Memory size and other storage options are important though; such as Flash memory size, option for boot loader and size of boot section if available, SRAM, EEPROM, additional bank of memory, etc. and these are easier to select.
However, when choosing memory sizes (of all kind), we give a thought to scalability (if it is planned) such that tomorrow we may update the program which would need additional memory so installed MCU should have this margin already built-in. This margin although has to be around 15% ~ 20%, MCU sizes usually come in different slots such as 4KB / 8KB / 16KB and so on. Therefore, we go with closest possible option and when in doubt, go with one slot higher option.