When choosing the best microcontroller for your project, you need to consider the cost as well as power consumption, performance, and overall dimensions. The availability of suitable hardware and software tools is also an important aspect to take into consideration.
Support for the selected platform is essential not only from the manufacturer as well as from the general public. It is also helpful to have an open development board.
In addition, the time to develop is reduced significantly when the chosen microcontroller comes with large, fully debugged flash programmers for STMicroelectronics ST in serial format and software libraries that have well-documented APIs or Application Programming Interfaces.
Modern microcontrollers have a few basic functions. In addition to the processing unit, they come with an amount of flash used to store the code of the application and some SRAM as well as typically there is also an EEPROM.
They require a clock source that is typically accomplished by an internal resistor-capacitor (RC) oscillator or using an external crystal in critical timing applications. They also have a few electronic IO ports, as well as a minimum, one counter or timer.
Beyond that, microcontrollers can be distinguished by the amount of memory they possess as well as the type and number of peripherals on the chip, as well as by the speed with that they execute user-facing applications.
It is also dependent on the size of data available to the processor as well as any acceleration hardware features that are included.
Microcontrollers designed for embedded systems typically are classified into three categories according to the size of their data busses such as 8-bit, 16 bit, and 32-bit. There are many more however, those are by far the most well-known models.