When I am doing hardware development, if I encounter a new product or project that I have never worked on before and have no experience with, I generally operate this way when selecting an MCU. First, based on the product requirements, I compile a hardware specification. For example, power management, sensor interfaces, human-machine interaction interfaces, etc.
Then, I organize the MCU resources required for the entire circuit, such as IO ports, serial ports, ADC, SPI ports, etc.
Next, I tally the number of each resource required. For example, how many IO ports are needed, how many serial ports, how many ADC channels, how many SPI ports, etc.
Finally, I select the appropriate MCU based on the quantity of each resource I have counted. The number of IO pins in the chosen MCU must be equal to or greater than the counted IO number, the number of serial ports must be equal to or greater than the counted serial ports, the number of ADCs must be equal to or greater than the counted ADC number, and so on. I also need to consider the size of the internal FLASH of the MCU, which is where the program is stored. If I choose one that is too small, it might not be able to hold the program, causing issues during software debugging. I also need to consider the size of the RAM; if I choose one that is too small for running algorithms, it might not be able to handle the workload. After considering all of this, I can select a relatively suitable MCU, minimizing the risk of making a wrong choice.ENDEvaluation Center Free Application


👆Long press the image to scan and apply👆