10 Things for Choosing Microcontroller
Hi friends, I hope you are fine and doing great. Previously I have written an article on embedded system programming that you can access here 8 things for learning Embedded System Programming. One of the important parts of an embedded system is a microcontroller, so choosing correct microcontroller for your embedded system is very necessary. Therefore, today I am going to tell you how you can select the best microcontroller for your application. In this article, I will be sharing all the details you need to know before finalizing your product.
So, if you are trying to choose the right Microcontroller for your project then you must be working on Embedded System Project, so you should read What is embedded Systems? and What is Embedded Computer. So, you should have a look at them as they are really interesting and covers the complete basics. After these articles, you should also have a look at Real Life Examples of Embedded Systems. So, before going into the details, let's first have a look at basics of Microcontroller.
Basics of Microcontroller
- Microcontroller is just like the CPU for your embedded system.
- It is different from microprocessors which require external peripherals. A microcontroller has all the peripherals on the main chip.
- counters, input and output ports on the single chip.
- External devices cannot be added on microcontroller, also extra memory cannot be added.
- Microcontrollers are suitable for embedded systems, as they are limited in size and cheap.
- Microcontrollers are suitable for applications which have limits on size and cost.
- Few examples of Microcontrollers are Arduino, PIC Microcontroller, 8051 Microcontroller etc.
- There are different families of microcontrollers which have different features. You can choose depending on the specifications you need.
- Microcontrollers are preferred in embedded systems because they have various advantages. Some of them are:
- Efficiency
- Use more logic to carry functions
- Can perform diverse functions
- Minimum and controlled power consumption
Now that I have defined a microcontroller, I am moving towards the main section of this article. Here's a screen shot of Arduino board:
How to select Microcontroller ?
Selecting right microcontroller for your application is very important. There are several things to consider including technical features, cost and size. It is necessary that you should have an idea of your project details, requirements and constraints. First try making a rough idea of your project and problem statements and then you can follow these 10 steps.
1. Know Hardware Requirements
The first thing to consider while choosing a microcontroller is to consider what hardware devices your project need. You must have an idea what hardware peripherals you need to connect with your microcontroller.
- Does your embedded system needs communication interfaces like UART?
- Does it needs Ethernet?
- How many output and input pins you need to connect?
- Does it needs USB port or other serial ports?
- Do you want PWM?
These are some questions to think. You can reduce your choices from a number of microcontrollers by considering the hardware requirements.
2. Know Software Requirements
Just as hardware of the project, you need to know the software required by your project. The software requirement is also important to consider.
- What processing speed is required?
- What type of calculations are involved?
- How much processing power is required?
- What are the timing constraints?
Once you have all these answers you can look for the microcontroller that can fulfill the purpose.
3. Architecture
The architecture of a microcontroller is the internal structure. When you have the idea about hardware and software requirements of the project, you can look for different type of microcontrollers to find the matching ones. They have a number of families and come in a variety of types that include 4 bit, 8 bit, 16 bit and 32 bit. 32 bit microcontrollers are the ones used in embedded systems.
4. Cost and Power Requirements
Cost factor is very important while developing a project or an embedded system. If you require complex functions and operations from your microcontroller, cost will be higher. If it is for a simple application, than a cheap microcontroller can serve the purpose.
Power required in your project should also be considered. If you are going to run your system on battery than consider the rating. Consider if your microcontroller meets the power or not.
5. Memory Requirement
The memory size is very serious issue to consider. How much memory is required by your code and How much RAM you need are worth considering. There should be some extra memory from estimated so you will not run short of space.
6. Search Microcontrollers
Up till this step, you have all the information required to start looking for microcontrollers. You can use online information available for different microcontrollers. Also, you can take help of some professional who can direct you to some family of microcontrollers. You will use your previous steps to filter from a wide variety. Search for new products available in the market so you can make better use of all the features.
7. Part Compatibility
Microcontrollers come in a variety of types. It is important to check whether the type you selected is compatible with other tools or not. If you are developing a system for mass production and use, then make sure that the microcontroller you select would be available for your product. And if you try switching from one type to another, then the new one should be compatible with the older one.
8. Know Software Tools
Microcontrollers come with some standard software tools with them. These tools are provided by the manufacturers and are very useful. They come with assemblers, compilers, debuggers and simulating tools. So it is good to know about all the products available with the microcontroller.
9. Simulation Tools
It is good to use simulation software to check the working of microcontroller. As I told in the previous point, some of the microcontrollers come with simulation tools that are very useful in the development process.
10. Start with Microcontroller kits
Microcontroller kits are very useful for starting your work. If you are beginner, then experimenting with kit can be very interesting. You can start with mini projects or you can build small circuits for testing purposes. If you already know how to work with microcontrollers then you can skip this step.
These are the 10 steps that you can go through while selecting a microcontroller for your project. The more you know about your requirements and different products available, it becomes easier to select the best suited microcontroller.