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!
For our most recent project, conceived in the middle of a chip shortage - it was availability that was the primary element. If you can't buy it, especially for a project to be developed within a month or two ... then it's pointless.
But in other times, I'd say features/cost matching needs is important. Other times, especially for RF, availability in a module with antenna that is pre-qualified can be a major sway.
- Gough
Over the last 2 years the primary issue has been availability - so many parts are unobtainable.
I found this is where the use of the Arduino IDE, and similarly with MbedOS (+ few others), has added value, especially during prototyping phase, as in most cases you do not have to change your code base to use a different Arduino compatible MCU if the one you started with is no longer available.
This is also where C++ classes help too if developing your own library.
Then, thanks to the ease of KiCAD and EasyEDA, I spend a bit more time coming up with different designs based on these different MCU's.
Being adaptable is the name of the game now.
There are many factors that influence your selection.
Most important are requirements and cost of the development capability.
Back when I was doing embedded systems, the cost of the development system often drove the selection, though not always.
The company wanted to standardize on one processor family, but we kept pointing out that the one they wanted to use would not meet the customers requirements.
To me the chip price it's very important but also you need to see if the chip has the peripherals and capacity like memory(speed obviously should be below of microseconds)
Victor
I was in school around 2000. One of our professors sold an 8051 "dev board" for $99. It had the processor, RAM, ROM, and RS-232 interface. It was only large enough to fit all of those chips.
At the time, I could not believe such an incredible piece of development hardware was so cheap! It was almost 10X cheaper than anything else I could buy.
(Fortunately, at the time, I could use the educational license of Keil, so that took the IDE out of the price discussion.)
Today, if you charged me $100 for a development MCU board, I would expect the packing material to be dollar bills. (Joking, but only slightly.)
It is a combination of many factors including availability, price, experience (with microprocessor and tools) and architecture. I have just finished a job for a client where I could not find any of my normal processors so I ended up get newer part from the same supplier. This required me to buy an update to my compiler, learn all of the new architecture while attempting to port my existing code onto the new processor. This ended up taking weeks instead of days and blew any potential profit on this job. Not a great choice.
$100 won't get you a peek at the box for one of these !
MK
I agree on the importance of matching the features with the requirements. I work with payment terminals and PIN pads and a key factor is security. We have to comply with a lot of security standards dictated by the PCI Security Standards Council and EMVCo so we require the microcontroller to have system level protection with secure boot loader, cryptographic hardware accelerators with hardware real random number generator, secure keyboard controllers, fault detection and external tamper sensors, battery backup for key storage, real time clock...interfaces for ISO 7816, NFC and magnetic stripe head. The MAX32555 DeepCover Secure Arm Cortex-M3 Flash Microcontroller is a good candidate.
For the projects that I carry out as a hobbyist, the most important thing for me is that the development tools are free without any additional license cost.
Back when microprocessors first came out, the development systems were in the thousands of dollars then you had to buy the primitive development software, debuggers and eprom burners, so you could easily spend 10,000 USD just to get a primitive system capability.