Summary of How to Select a Microcontroller MCU in Multiple Steps
Summary (under 100 words): Choose a microcontroller by listing external interfaces (communication and I/O), evaluating software architecture and processing needs, and estimating memory. Use those requirements to narrow architecture (8/16/32-bit), vendor searches, and development kits. Then compare power, price, and availability, test with development kits and tools, and iterate selection as needs evolve.
Parts used in the Microcontroller Selection Process:
- Microcontroller (8-bit, 16-bit, or 32-bit ARM candidate)
- USB interface (if required)
- Ethernet interface (if required)
- I2C peripheral
- SPI peripheral
- UART peripheral
- Digital inputs and outputs (GPIO pins)
- Analog inputs (ADC channels)
- PWM outputs
- Flash memory (on-chip)
- RAM (on-chip)
- Power supply / battery (for power consumption testing)
- Development kit / evaluation board
- Compilers and development tools (IDE, debuggers)
- Third-party vendor resources (field application engineers)
Make a hardware interface list
Using a preliminary hardware block diagram, list all the external interfaces that the microcontroller needs to handle. Two common types of interfaces should be mentioned.
The first is the communication interface.
USB, I2C, SPI, and UART are commonly used peripherals in systems. If your application requires USB or Ethernet, add a special note in the comments section. These interfaces have a large impact on the program space required by the microcontroller.
Digital inputs and outputs, analog digital inputs, PWM and other digital interfaces are available. The number of pins required by the microcontroller will be determined by these two types of interfaces. Figure 1 shows a typical block diagram including I/O requirements.’’
Check software architecture
Microcontroller selection is largely influenced by software architecture and requirements. The processing power required will determine whether to use an 80MHz DSP or an 8MHz 8051. Documenting all requirements is just as important as detailing the hardware.
For example, are there any algorithms that require floating point operations? Are there sensors or high frequency control loops? Also, figure out when and how often each task will be completed. Then calculate the order of magnitude of processing power required. One of the most important factors in choosing a microcontroller architecture and frequency is its computing power.
Select building
Engineers should be able to use the information in 1 and 2 to begin determining appropriate architectural ideas. Is this application compatible with 8-bit architecture? Is it necessary to use 16-bit architecture? Or do you need a 32-bit ARM processor? Solutions to these problems can be found by regularly reviewing the application and corresponding software algorithms.
Please keep in mind that future requirements and feature enhancements may be necessary. Even if an 8-bit microcontroller can handle your application now, you should consider a 16-bit microcontroller to expand functionality and even simplify use in the future.
It is important to remember that selecting a microcontroller is a process that must be repeated. At this stage, you may have chosen a 16-bit device, but later discovered that a 32-bit ARM device would be better. This is just a suggestion for engineers to consider.
Determine memory requirements
The flash memory (Flash) and RAM of the microcontroller are two key components. Having enough program or variable space is undoubtedly the most important consideration. Usually, choosing a large enough flash memory and RAM is simple.
It’s not funny if you find at the end of a design that you need 110% more space or that certain elements have to be eliminated. In fact, within the same system on a chip, you can start with a larger device and then switch to a smaller device.
Engineers can estimate how much flash and RAM space an application will consume based on the software architecture and the connected peripherals included in the application. Remember to leave room for expansions and new releases! This will eliminate a lot of headaches in the future.
Start looking for microcontrollers
Now that you have a better understanding of your microcontroller needs, it’s time to start looking for the right microcontroller! Microcontroller vendors such as Arrow, Avnet, and Future Electronics are a good place to start looking for a microcontroller.
Discuss your application and requirements with the field application engineers from these suppliers, who will almost always have something new that is technologically advanced and meets your needs. Remember, they may be eager to market an entire line of microcontrollers!
The chip supplier you’re already familiar with is the next best option. For example, if you have used Microchip equipment before and are familiar with it, you can visit Microchip’s website.
Most chip vendors have a search engine where you enter your peripheral mix, I/O, and power requirements, and the search engine progressively filters out the devices that match your needs until you find a list of devices. The engineer can then carefully select the most suitable microcontroller from this list.
Check prices and power limits
At this point, the selection process should provide a large number of candidates. Their power requirements and price should be thoroughly examined at this point. If the device is powered by a battery or mobile device, power consumption must be kept as low as possible.
If you can’t meet the power consumption requirements, go through the list one by one until you find the right product. Don’t forget to look at the unit price of the processor. While many devices cost close to $1 when purchased in bulk, if it’s a highly specialized or high-end processor, price can matter. This is an important point to remember.
Check device availability
Now that you’ve compiled a list of suitable equipment, it’s time to check the availability of each. There are a few things to note, such as how long is the delivery time for the equipment? Is inventory available from multiple wholesalers, or does it take 6 to 12 weeks to arrive? What are your supply requirements? You don’t want to place a large order and have to wait three months for it to arrive.
Select a development kit
Finding a compatible development kit and studying the inner workings of the controller are critical steps in selecting a new microcontroller. When engineers are interested in a product, they should check to see if a development kit is available.
Investigate compilers and tools and start experimenting
Microcontroller selection is largely limited by development kits. The final thing to consider is the compilers and tools available. Compilers, routine code, and debugging tools are provided with most microcontrollers.
Even if you choose a microcontroller, things are not set in stone. Development kits are often available long before the first hardware prototypes are developed. Use the development kit to build the test circuit and connect it to the microcontroller,
Select high-risk devices and try to integrate them with a development kit, and you may find that a device you thought was functioning well has unexpected problems, forcing you to choose a different microcontroller.
- What are the two common types of external interfaces the microcontroller must handle?
The communication interface and the digital/analog I/O interface. - Which communication peripherals are commonly used?
USB, I2C, SPI, and UART are commonly used peripherals. - Do USB or Ethernet requirements affect microcontroller selection?
Yes, USB or Ethernet have a large impact on program space required and should be specially noted. - What I/O types determine the number of pins required?
Digital inputs and outputs, analog inputs, PWM and other digital interfaces determine pin count. - How does software architecture influence microcontroller choice?
Processing power, algorithms (for example floating point), sensor and control loop frequency, and task timing determine required architecture and clock speed. - When should you consider moving from 8-bit to 16- or 32-bit architecture?
If future requirements or added features exceed current capacity or to simplify development, consider 16-bit or 32-bit options even if 8-bit currently suffices. - What memory elements must be determined for selection?
Flash memory for program space and RAM for variables must be estimated and sized with room for expansion. - Where can engineers start looking for microcontroller candidates?
Vendors such as Arrow, Avnet, Future Electronics, or familiar chip suppliers and their online search tools are good starting points. - What practical factors should be checked after narrowing candidates?
Price, power consumption, and device availability (lead times and distributor stock) should be checked. - Why is a development kit important in selecting a microcontroller?
Development kits allow testing, exploring toolchains, integrating high-risk devices, and revealing issues before hardware prototypes are built.
