We're interested in finding out what considerations are most important to you when choosing a microcontroller. Take the poll and let us know, and please tell us why in the Comments section below!
We're interested in finding out what considerations are most important to you when choosing a microcontroller. Take the poll and let us know, and please tell us why in the Comments section below!
It is essential that the features match the requirements. In the case that multiple microcontrollers include enough features to solve the problem, other criteria come into play. The primary overall criterion for me is which microcontroller requires the least effort or will take the least time to implement. Although cost is sometimes a significant factor.
It is essential that the features match the requirements.
These were the very same words that sprung to mind. E.g. memory size, flash size, clock speed, ADC conversion speed, power requirements.
Understanding the likely constraints are important too. E.g. How many SPI, I2C, UART, GPIO, ADC pins will be needed. Then built-in peripherals such as I2S, DAC, CAN, Ethernet, etc. also useful to know, as these will depend on requirements of project.
Voted Other - 100% agree with dougw - features need to match requirements. I chose Raspberry Pi Pico in one project over Arduino Nano since qty 2 i2c ports were needed. If a project needs BLE or Wifi, the microcontroller needs that feature.
Least effort to implement is pretty significant as well.
IMHO, cost of the overall project to build is more impact than just the cost of a microcontroller.
It just has to be "other".
Requirements can include things like architecture, dev tool experience/ownership etc.
For some jobs the price of the device is significant but for others (eg custom test equipment which I do quite a bit of) then it hardly matters at all. The development cost may run into tens of £k and three boards are built (one for me, one for the application and one spare). The cost of the processor just doesn't feature.
Over the last 2 years the primary issue has been availability - so many parts are unobtainable.
MK
As others have said, the first level requirement is that its capabilities match the application.
However, most times, there are going to be multiple options, so that is rarely the limiting criteria.
That said, cost is probably going to be the next level consideration. And that cost has to include development time. In some cases, going with a micro that you know better but has a higher per-part cost might make more sense than just pushing the BOM to the bottom. (On the other hand, on a very high volume project, the additional dev time it takes to learn a new platform might be worth it.)
Depends heavily on the project requirements.
Some other important elements not on the above criteria list might be the quality and availability of supporting documentation, training materials, application notes, code libraries, and also if we are talking board level devices here, then board form factor and power consumption.
Availability and what you have in the cupboard definitely can dominate the decision.
Is a recent hobbyist I prefer to use the Python programming language. I don't like flavored versions of Python that tie you to a specific IDE or even frameworks that also tie you to specific hardware. Unfortunately, opensource MicroPython can lack support for specific hardware or peripherals. If I was working on more complex projects the C language would be better suited but not for my hobbyist interests.