Microcontrollers (MCUs) have come a long way since the pioneering 4-bit Intel 4004 hit the market back in the 1970s. Today, they’re the heart of most embedded systems, from automotive engine control systems, medical devices, toys, and more, serving as low-cost, compact, single chip computers.
The beauty of MCUs is that they reduce the size and cost of the alternative: using separate microprocessors, memory chips, and I/O devices. Instead, they put all this functionality on the same chip to reduce cost and size. As the price of microcontrollers drop and performance and ease-of-use rise, microcontrollers are increasingly credited for fuelling the rise of the Internet of Things (IoT) since it’s now feasible from a cost and size perspective to have a computer in not only every pocket, but in nearly every single object.
Before we jump into the top 10 microcontrollers used by PCB designers*, I had a chance to discuss some factors to consider when selecting one with Suresh Joshi, principal consultant at IoT product development firm Vicara Solutions Inc., and author of some great blog posts like this one on how to start a hardware company.
Factors to Consider When Choosing a Microcontroller
When selecting a microcontroller, Suresh recommends that designers consider core size, peripherals required, speed, power consumption, flash memory, cost of ownership, and support ecosystems.
Many of these factors will depend on design requirements. For example, core size directly impacts cost, hence designers should only select as much as needed. Peripherals will, again, depend on what the application is striving to achieve. And since speed and power efficiency are often trade-offs, designers should once again refer to their requirements.
To further optimize power consumption, Suresh recommends that designers look at low-power states, and which peripherals and interrupts are active versus not active.
”For example, if I’m making a remote battery-operated data logger, I want to know that I can keep my processor in low power or sleep mode while I DMA data around, rather than require the CPU to do all the work and keep all of my clocks running,” he said.
For flash size, designers should keep in mind that as flash size goes up, pin count and cost do too. Although large external flash chips are cheap, there are benefits to getting it on the MCU.
“I personally like having everything internal to the MCU to reduce the need for extra drivers and to reduce the number of components on the board,” Suresh said.
He added that designers should consider ensuring there’s enough flash memory on the chip for a backup of applications while doing over-the-air (OTA) updates. OTA updates can be done by wiping the main application, and pushing the new application into that space, or by creating a backup of the application in memory before updating the main application. Suresh tends to prefer the latter.
“On reset, your bootloader points to that new application, and if something goes wrong, it falls back to the original application. This is basically a fail-safe MCU in-field upgrade,” he said.
Suresh also urges designers to consider price in the context of total cost of ownership — ie. not just the cost of the chip itself, but also the cost of firmware needed.
”Hardware developers can sometimes misunderstand BOM cost vs. total product cost. If I suggest using a $2 MCU because it’ll cost $10k in firmware development vs a $1 MCU with $20k in firmware, most hardware guys I know will go with the $1 MCU… But they should first ask the production volume to find the break even point. Lots of companies like to hope they will produce 10-100k units in the first year, but in reality it will usually be closer to 1k,” he added.
For a younger breed of hardware designer, software support is increasingly important too, such as good IDEs, and GCC compiler-friendly platforms.
“Good tools will let you do visual pinouts, warn you when there will be conflicts and mistakes, and generate thin hardware access layers so you don’t need to manually mess with registers,” said Suresh.
“You still need to understand registers, but tools can be helpful in auto-generating the correct configurations so you can get to the application-level coding faster.” he said.
He also prefers MCUs that have strong ecosystems: communities and resources such as documentation and breakout boards available.
“Manufacturer support is nice, but community support is where you hear about all the problems,” he said. He credits STMicroelectronics and Cypress Semiconductor as two companies that do a good job in creating ecosystems around their products.
Suresh also uses developer kits to mock out his entire project first before he builds the final hardware. Development kits should have lots of flash, which you can then narrow down based on your needs when moving to a custom board as a cost reduction.
Finally, remember that every application and industry will have different design requirements, so be sure to keep that in mind when selecting a MCU.
Now, without further ado, let’s take a look at the top 10 microcontrollers, starting with #10!
The Top 10 Microcontrollers on SnapEDA
#10 – PIC16F886-I/SO from Microchip
The PIC16F886-I/SO is a powerful, easy-to-program, 8-bit microcontroller based on Microchip’s PIC architecture. Encased in a 16-bit SOIC package, it has 256 bytes of EEPROM memory, an ICD, 2 Comparators, 11 channels of 10-bit analog-to-digital (A/D) converter, capture/compare/PWM functions, a synchronous serial port that can be configured as either a 3-wire SPI or a 2-wire I²C bus, and an EUSART.
Average price across distributors at time of publish: $4.87
#9 – PIC32MX250F128D-I/PT from Microchip
Unlike the PIC16F family, the PIC32MX family is based on the MIPS32 M4K, a high-performance, low-power 32-bit core. Encased in a 44-pin TQFP package, it has 128 kB of addressable program memory size, 3kB of auxiliary flash, 32768 bytes of data memory size, 3 comparators, and a 13-channel 10-bit A/D converter. This device operates at a maximum frequency of 50MHz with wide operating voltage of 2.3 to 3.6V.
Average price across distributors at time of publish: $3.78
#8 ATMEGA328P-MU from Atmel
The high-performance Atmel picoPower 8-bit AVR RISC architecture combines 32KB ISP flash memory with read-while-write capabilities, 1024B EEPROM, 2KB SRAM, 23 general purpose I/O lines, 32 general purpose working registers, three flexible timer/counters with compare modes, internal and external interrupts, serial programmable USART, a byte-oriented 2-wire serial interface, SPI serial port, an 8-channel 10-bit A/D converter, programmable watchdog timer with internal oscillator, and five software selectable power saving modes.
Average price across distributors at time of publish: $2.41
#7 STM32F103C8T6 from ST Microelectronics
The MCU is based on the high performanceARM Cortex-M4 32-bit RISC core operating at a 72 MHz frequency. It has high speed embedded memories (flash memory up to 128 Kbytes and SRAM up to 20 Kbytes), and an extensive range of enhanced I/Os and peripherals connected to two APB buses. It offers two 12-bit ADCs, three general purpose 16-bit timers plus one PWM timer, as well as standard and advanced communication interfaces: up to two I2Cs and SPIs, three USARTs, an USB and a CAN.
Average price across distributors at time of publish: $4.07
#6 ATMEGA32U4-AU from Atmel
The low-power Atmel 8-bit AVR RISC-based microcontroller features 32KB self-programming flash program memory, 2.5KB SRAM, 1KB EEPROM, USB 2.0 full-speed/low speed device, 12-channel 10-bit A/D-converter, and JTAG interface for on-chip-debug. The device achieves up to 16 MIPS throughput at 16 MHz. 2.7 – 5.5 Volt operation. By executing powerful instructions in a single clock cycle, the device achieves throughputs approaching 1 MIPS per MHz, allowing you to optimize power consumption versus processing speed.
Average price across distributors at time of publish: $4.62
#5 STM32F407VGT6 from ST Microelectronics
This MCU is based on the ARM Cortex-M4 32-bit RISC core operating at a frequency of up to 168 MHz. The Cortex-M4 core features a Floating point unit (FPU) single precision which supports all ARM single precision data-processing instructions and data types. It also implements a full set of DSP instructions and a memory protection unit (MPU) which enhances application security. It incorporates high-speed embedded memories (Flash memory up to 1 Mbyte, up to 192 Kbytes of SRAM), up to 4 Kbytes of backup SRAM, and an extensive range of enhanced I/Os and peripherals connected to two APB buses, three AHB buses and a 32-bit multi-AHB bus matrix.
Average price across distributors at time of publish: $11.17
#4 PIC32MX250F128B-I/SP from Microchip
This 32-bit micro controller is cased in a 28-pin PDIP package with a RISC processor able to run up to 50MHz and provide 83 DMIPS. It has a minimum operating temperature of -40 °C and a maximum of 85 °C. It has a maximum clock speed of 40 MHz. This device has a typical operating supply voltage of 2.5|3.3 V. Its minimum operating supply voltage of 2.3 V, while its maximum is 3.6 V. Its flash program memory is 128KB. Its ADC resolution is 10.
Average price across distributors at time of publish: $3.67
#3 ATMEGA2560-16AU from Atmel
Average price across distributors at time of publish: $12.12
#2 ATMEGA328P-PU from Atmel
The high-performance Atmel picoPower 8-bit AVR RISC-based microcontroller combines 32KB ISP flash memory with read-while-write capabilities, 1024B EEPROM, 2KB SRAM, 23 general purpose I/O lines, 32 general purpose working registers, three flexible timer/counters with compare modes, internal and external interrupts, serial programmable USART, a byte-oriented 2-wire serial interface, SPI serial port, a 6-channel 10-bit A/D converter, programmable watchdog timer with internal oscillator, and five software selectable power saving modes.
Average price across distributors at time of publish: $2.63
And the top microntroller on SnapEDA is…
#1 ATMEGA328P-AU from Atmel
Average price across distributors at time of publish: $3.05
We hope you enjoyed this first in a new series of blog posts. Let us know which category of components you’d like to see next!
* Top 10 measured in terms of symbol and footprint downloads on SnapEDA.
** Note: you might be wondering why, for example, the MSP430 family of microcontrollers are not represented here. This selection was chosen based on download volume of specific orderable part numbers. If we had instead rated them by product family group, MSP430 would be near the top of the list.