Possible Duplicate:
How to choose a MCU platform?

I'm designing my first project that could possibly go in to production(as a university project) but I am now stuck on choosing a microcontroller for it. My main experience is with Atmel AVR so im tempted with choosing an AVR, however I don't feel that it would be future proof. What characteristics should I look for when choosing a microcontroller? How should I decide between a 8- (Atmel AVR), 16- (MSP430) or 32-bit(ARM Cortex M3) microcontroller?

  • \$\begingroup\$ It totally depends on your application. In general - the cheapest that fits your needs and capabilities. \$\endgroup\$ – miceuz Oct 14 '12 at 20:26
  • \$\begingroup\$ @miceuz But I am unsure on things like flash size, number of pins, and peripherals. Does this mean that I'm not ready in the project to be choosing a microcontroller? If so how am I supposed to go about development of the project? As in my mind its a critical part of the project. \$\endgroup\$ – Dean Oct 14 '12 at 20:28
  • 1
    \$\begingroup\$ what do you mean you are unsure about peripherals? So you have an idea like "I want to build a widget" and already are thinking about a production? You need at least to lay out the plan how will you build it - this will define your requirements. And then build a prototype on some platform you are fast on. \$\endgroup\$ – miceuz Oct 14 '12 at 20:35
  • 1
    \$\begingroup\$ I'm glad that you brought up future proofness. Here is a recent thread with a very similar question. \$\endgroup\$ – Nick Alexeev Oct 14 '12 at 20:44
  • 1
    \$\begingroup\$ Incorporate a webserver? Now this starts to get interesting... I'd even advise to look at Raspberry Pi... \$\endgroup\$ – ppeterka Oct 14 '12 at 20:57

Please add some detail, especially about why you think choosing an AVR wouldn't be future proof... Without knowing your aims, we cannot help...

(Also, I have to mention, there are 32bit AVRs too...)

There are quite some factors one needs to assess when going into production. EVen though a given microcontroller might not seem "future proof" because for example performance regarding possible future designs, its cost advantage might make it the preferred choice. $1 at 10000 pieces makes for $10000!

Also, I'd consider power consumption an important factor too, a simpler device usually consumes less.

The third aspect I'd take into consideration is the availability/usability of the development environments available. I'd even consider doing the prototyping on one uC, with a more convenient development environment/support, then when the product is functionally operating, before the mass production, I'd choose a cheaper, more tailored approach - even if the environment is lesser to the other one. This way the prototyping is done quickly, and the first few usability issues would be cured quickly, and in the less convenient environment, onlz a small amount of work must be done.

I usually prototype small projects with Arduino, then for example I switch to ATTiny2312, or smaller uCs, when applicable.


Not the answer you're looking for? Browse other questions tagged or ask your own question.