Take a look at any electronic components catalogue and it is clear designers face no shortage of choice when it comes to potential microcontroller (MCU) options. The huge range of products available is a testament to the way in which the MCU has become an essential part of contemporary system implementation. It is hard to find anything these days that does not include at least one MCU.
 
The breadth of possibilities on offer can seem foreboding, but that quickly changes once you approach things in a more methodical way – taking into account the decisions that need to be made in order to find the best candidates for the job in question. Here are seven key things to think about when looking at MCU options – that should help reveal which products in the catalogue will best meet your particular needs.

Architecture

The most important consideration for an embedded project is whether the processor core at the heart of the MCU will be able to adequately perform the jobs it is expected to do. A basic 8-bit pipeline will be able to handle control tasks that involve the monitoring of I/O ports and changing state based on those inputs. However, if the task involves arithmetic manipulation of the inputs in algorithms (such as closed-loop control), the system may call for a more sophisticated instruction set that can entail a move to a 16-bit or even a 32-bit pipeline. Wider pipelines have the benefit of dealing with samples and other real-world data as one unit. An 8-bit pipeline will entail splitting all but the smallest data values into sub-units for processing, which will hurt performance. For closed-loop control, a 16-bit architecture with digital signal processing support will often provide the best balance of cost versus arithmetic performance. However, for systems that need to support a mixture of control, communications and management functions, the greater capability of a 32-bit pipeline may be required.

I/Os

The huge advantage of designing with MCUs is the variety of integrated I/O ports that come with them. Many are specifically tailored for applications through a carefully chosen mixture of I/O ports that range from register-programmable digital signal lines through intelligent motor control units to entire wireless subsystems for IoT connectivity. By determining which functions the application needs, it is often straightforward to use a parametric search to create a shortlist of suitable devices. In an ideal world, there is an MCU with all of the I/Os you need for the desired application. This may not be a realistic perspective, though, particularly for more niche designs. Many external peripherals conform to common interface specifications (such as I2C or SPI). Alternatively, they may employ a parallel interface that either supports connection to a memory bus or which can be accessed by manipulation of general-purpose I/O lines. A survey of the external components needed in the design will determine whether the MCU calls for serial I/O or parallel I/O ports in addition to the built-in peripherals.