Choosing the right micro controller

In summary, choosing the right microcontroller involves considering factors such as processing power, memory, input/output options, and cost. It is important to assess the specific needs of a project and select a microcontroller that can handle the required tasks efficiently and effectively. Additionally, compatibility with programming languages and development tools should also be taken into account. It may be beneficial to consult with experts or do thorough research to determine the best microcontroller for a particular project.
  • #1
Paddy
24
0
I am an Electrical & Electronic Engineering student who has previously used a PIC micro controller for one of my previous college's projects, in that case we didn't have a choice we had to use that particular micro controller, partly because all the class using the same would be easier to teach the class and help individual projects.

Now in university I am required to do a project which I have some ideas for, but how do I choose the right micro controller?

The previous micro controller I used was bulky (40-pin IC) and had a million of features I will most definitely not use.

What would be the easiest way to compare the actual size, prize and features of the micro controllers in the market and thus help me find the perfect one for my application?

Any help will be most appreciated.
 
Engineering news on Phys.org
  • #2
Paddy said:
I am an Electrical & Electronic Engineering student who has previously used a PIC micro controller for one of my previous college's projects, in that case we didn't have a choice we had to use that particular micro controller, partly because all the class using the same would be easier to teach the class and help individual projects.

Now in university I am required to do a project which I have some ideas for, but how do I choose the right micro controller?

The previous micro controller I used was bulky (40-pin IC) and had a million of features I will most definitely not use.

What would be the easiest way to compare the actual size, prize and features of the micro controllers in the market and thus help me find the perfect one for my application?

Any help will be most appreciated.

The EE trade magazine "EDN" puts out an annual uP/uC Directory which is quite comprehensive. Your school library probably has back issues of EDN, and here is a link to the online version of the Directory from 2008:

http://www.edn.com/index.asp?layout=MPD&industryid=48902&year=2008&referralid=93

.
 
Last edited by a moderator:
  • #3
Thank you berkeman, that looks like a great help.
 
  • #4
Hello Paddy,

For hobbyists, the two most popular processors cores are probably the PIC and Atmel's. If you drop by hackaday.com, you'll see many examples using these parts. I'm also seeing growing interest in Ti's MPS part and from the Silicon Labs core.

You can get plenty of tiny parts from these mfg. I think PIC even makes some 8 pin through hole types. You can check at microchip.com.
 
  • #5
Thank you Mike.

Excuse me, one other question. When in college, I remember having to obviously connect the PIC to a computer, this was done through a device that look rounded. While the Atmel and PIC websites offer free programming software, I can't see anything about this piece of kit, how would you get your hands on one? Are they expensive? Is it strictly necessary/are there other direct ways of programming the uC?

That's one thing I wish they taught us at college (or maybe I should say, I wish I had listened more:biggrin:), sure they showed us how to program the chips in C and how to design PCBs round them, never explained basic sourcing techniques and advice on things to look out for in the market.
 
  • #6
Pic has development kits (sample processor board + In Circuit Emulator) for $35 to $70. For a real time In Circuit Emulators, you have to fork out $500 - $2000. These are for the pros, and I've gotten along without them for about 10 years.

Check digikey.com search PIC for details.

- Mike
 
  • #7
This developer sells 14, 18, 28, and 40 pin PIC parts with a simplified instruction language, communication tools, and custom commands pre-installed. You pay a little more for each chip and need a USB to serial port converter cable, but it could cut your development time significantly depending on your needs. Cost is low to get started:

http://www.kronosrobotics.com/xcart/home.php

The low pin count chips are called Athena, Perseus, and Nemesis (appear to be PIC parts w/custom software installed).
 
  • #8
Paddy said:
Excuse me, one other question. When in college, I remember having to obviously connect the PIC to a computer, this was done through a device that look rounded. While the Atmel and PIC websites offer free programming software, I can't see anything about this piece of kit, how would you get your hands on one? Are they expensive? Is it strictly necessary/are there other direct ways of programming the uC?

http://www.atmel.com/dyn/products/tools.asp?family_id=607
Specifically, this is their in-system programmer: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3808
$34 from Mouser and most other places, and for some reason currently $35.36 from DigiKey. It's pretty simple to build your own programmer, but I'd suggest just paying the $30-some for the programmer in the nice case that's supported by all the programming tools. There's also some breakout boards for the versions with USB that can be programmed without a programmer, but they're also more expensive than plain unprogrammed chips in DIP packages:
http://fletchtronics.net/bumble-b
http://www.pjrc.com/teensy/index.html

Check out their parametric product table to see what suits your needs. I like the tiny261/461/861 for a general purpose small processor, the tiny2313 is also popular, and the tiny4, 5, 9, and 10 are truly tiny, coming in 6-pin surface mount packages. The tiny25/45/85 are available in a more usable 8-pin DIP package. And for something a little bigger, you might look at the ATmega88, which comes in a 28-pin DIP package.

Don't bother with those "simplified" pre-programmed chips. You pay more and get less. They limit what you can do more than they simplify things, and you'll end up going through extra effort or buying different chips and re-learning things later to get around those limitations.
 
  • #9
Thanks a lot to everyone, all the answers have been what I was looking for and extremely helpful.
 
  • #10
I always use microcontrollers that have built-in USB connectivity (both professionally and for my personal projects), because I find the option of connecting a computer to be an enormous advantage. Lately I've been using the SiLabs USBXpress chips. You can program almost any microcontroller via a computer, but it's wonderful to be able to interact live with your firmware via USB. The visibility is great for both design and debugging.

- Warren
 

Related to Choosing the right micro controller

1. What factors should be considered when choosing a microcontroller?

There are several factors that should be considered when choosing a microcontroller, including:

  • Application requirements: Consider the specific functionalities and features that your project requires.
  • Processing power: Determine the level of processing power needed for your project.
  • Memory: Consider the amount of memory required for your program and data storage.
  • Peripherals: Decide which peripherals, such as timers, analog-to-digital converters, and communication interfaces, are necessary for your project.
  • Cost: Consider the cost of the microcontroller and any additional components needed for your project.

2. What are the different types of microcontrollers available?

There are a variety of microcontrollers available, including:

  • 8-bit vs. 16-bit vs. 32-bit: These refer to the size of the microcontroller's data bus and determine the maximum amount of memory and processing power it can handle.
  • General-purpose vs. application-specific: Some microcontrollers are designed for a specific application, such as automotive, while others are more general-purpose.
  • ARM vs. AVR vs. PIC: These are different families of microcontrollers with their own unique architectures and instruction sets.
  • Integrated vs. external peripherals: Some microcontrollers have built-in peripherals, while others require external components.

3. How do I determine the power requirements for a microcontroller?

To determine the power requirements for a microcontroller, you should consider the following:

  • Operating voltage: This is the voltage required to power the microcontroller and its peripherals.
  • Current consumption: This is the amount of current the microcontroller will draw while operating.
  • Sleep modes: Some microcontrollers have low-power sleep modes that can significantly reduce power consumption.
  • Power source: Decide whether the microcontroller will be powered by a battery, USB, or another source.

4. How do I choose a suitable development environment for a microcontroller?

Choosing a development environment for a microcontroller depends on your personal preferences and the specific requirements of your project. Some factors to consider include:

  • Programming language: Different microcontrollers support different programming languages, such as C or assembly.
  • Debugging tools: Consider whether you will need a debugger to troubleshoot your code.
  • Integrated development environment (IDE): Some microcontrollers have their own IDEs, while others can be programmed using a text editor and compiler.
  • Community support: Check if there is a strong community of users for the microcontroller you are considering, as they may be able to provide helpful resources and support.

5. How can I ensure compatibility between a microcontroller and other components in my project?

To ensure compatibility between a microcontroller and other components in your project, you should:

  • Check the datasheets: Carefully review the datasheets for both the microcontroller and any other components to ensure they are compatible in terms of voltage, current, and communication protocols.
  • Use reference designs: Many microcontroller manufacturers provide reference designs that can serve as a starting point for your project and ensure compatibility.
  • Consider using a development board: Development boards often have all the necessary components and interfaces built-in, making it easier to ensure compatibility.

Similar threads

Replies
2
Views
1K
  • Electrical Engineering
Replies
2
Views
1K
Replies
2
Views
869
Replies
10
Views
3K
  • Electrical Engineering
Replies
2
Views
3K
  • Electrical Engineering
Replies
3
Views
1K
Replies
2
Views
1K
  • Electrical Engineering
Replies
21
Views
23K
Replies
2
Views
1K
  • Programming and Computer Science
Replies
4
Views
1K
Back
Top