Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

What's your favorite MCU and why?

Status
Not open for further replies.

auto_turret

New Member
I'm brand spankin' new to the world of microcontrollers, just got my first one to play with after much time thinking about it. Namely the ATMega168. Perfect way to marry programming and electronics as a hobby. Much, much fun. I love it.

I saw the newcomer's please read post, and saw the part where it says "which to chose." But I'm curious as to what you more experienced folk favor in regards to brands and models. Which one do you like best and for what reasons? I know I'm probably asking a dumb question, but I think everyone has to have a favorite!
 
Welcome to the world of microcontrollers!

My uC's of choice are the Microchip PICs. I think one of the best things about them is the diversity of functionality in their product line. Need a teeny-tiny, low power, limited function controller for a custom wrist watch? They've got that. Need a big honking processor with 4 UARTs, a USB module, 36 I/O pins, and 128kB of RAM? They've got that too. And everything in between. It's almost like being able to customize a different microcontroller for every project you do.

Probably the next best thing about PICs is the online presence. There are tons of forums and tutorial websites specifically for PICs. And it's a very active community. It's hard to have a problem that you can't find the answer to somewhere online within minutes.
 
I'm enjoying the PIC line myself. I first started with the 16F84, but that didn't last long once I learned that the F628 had an on chip USART, which is perfect for me since I didn't see a need to bit bang a serial routine if the uC has one on chip. I mainly deal in MIDI stuff so having a chip with on chip USART was a no brainer.

Eventually I plan to graduate to the 18F4620.

A buddy of mine who used to program for some reason thinks the PICs are a weird animal in that the SFRs are part of the on chip RAM and not their own separate thing. I don't really see that as any sort of a draw back myself but then again all of my very limited experience with uC's is with the PIC line. Nowadays I don't think there's anything a PIC cannot do.
 
Last edited:
I have worked quite a bit with Intel 8051 processors and also microchip PIC processors, I don't really favor one over the other it's more a matter of what processor is the best choice for the job at hand. PICS have some nice features and are cheap but in some cases the way the memory and ports are implemented they can be awkward to use.
In most cases one processor is as good as the other. They can all do pretty much the same things. So whatever you become comfortable with should be OK.
 
What's your favorite MCU and why?

You can easily start a war with that question. Lets try to avoid that.

This post contains more detailed on PIC because they are what I use. I have tried to be fair.

Most hobby people talk about AVRs and PICs. Either is a good choice because of the large amount of support for them on the web. That especially for the beginner is more important then what is under the hood. Having said that there are other good MCUs but none have gained this level of acceptance by hobbyists.

It is difficult to keep peace between the PIC and AVR camps.* Having said that I will point out that the ETO PIC related questions are answered faster and by more people then any other micro controller family.

Another consideration is the cost of getting started. If you can get you hands on a chip with a boot loader already installed/programmed you can program most flashed based MCU;s over a serial port. No programming hardware required. For PICs there is the USB bitWhacker and for AVR there is the popular Arduino, but in either line a MCU preflashed with a bootloader on a breadboard will get you started.

There are a few different types of programmers. The Cadillac of entry level programmers is the programmer/debugger. This tool not only programs the chip but provides run control which allows you to stop your program and examine the state of the program at any point. A great tool but not appreciated by everyone.

One advantage of the PIC line is that a single programmer** will program every MCU they make from the 6 pin 10F line all the way up to the 32 bit MIPs core monsters. I am unsure what the AVR coverage is for any given programmer.

An experienced programmer who does not require as much net support might consider ST MicroDevices
STM8L discovery kit for under $10 or the 32 bit version for about $12. Both include a programmer/debugger and C compiler. The down side is that there are no DIP chip packages that I know of. This is bad, but not quite so bad in that most of use end up using surface mount parts down the road.

I doubt few will read this far so I will stop. Foot notes follow.

* The AVR has a better instruction set. If you want to do much programming in ASM I would favor the AVR over PIC. I do not much care for the PIC instruction set. Having said that we have people here who write some great programs in PIC ASM. If you use a high level language like C or BASIC it does not much matter.

PIC is inferior because the processor executes instructions at 1/4 the crystal speed. It is due to the architecture . If you understand this you just do the math.

** Microchip PICkit3 and the more expensive ICD3 are examples. The PICkit2 will not program the 32 bit PICs but is a buy at about $35.
 
I suppose that a lot preference is what you are used to. Each new microcontroller that I have started with has meant a few days understanding how things work, and every range has thing that are a bit of a pain. Leaning to get round those is part of getting familiar with the range.

My own preference is the 24F series. 16 bit means that there is a lot less need to use two registers for one number. It also allows indirect addressing to access the whole of memory with a single register. 16 working registers, just about all of which can be used as index registers, also helps. 16x16 multiply in one instruction cycle, a 32 x 16 divide in 18 cycles with two lines of code, make maths simple. Calculated branches for lookup tables means you don't have to worry about page boundaries.
 
This is a very PIC oriented forum, so you'll get a lot of PIC answers. avrfreaks.net is the main hangout for the AVR folks.

I prefer ARM Cortex-M3/M0, but there are a few things that make them a pain to start out with. Package availability; They are all QFP's or QFN's. Free toolchains are a hassle to setup. The free limited codesize ones aren't bad, though. Low cost SWD programmers are not so easily available.
 
Last edited:
I love the Microchip PIC series, and I have to agree with 3v0, this is the best place to get help for that. My grandfather works at a wireless design company and they use PICs in their products. I asked if they used AVRs and he didn't even know what they were. I think the architecture is technically the same, but a PIC generally consumes less power.
 
I use PIC, AVR, TI, and am dabbling with the ST32 Discovery.

On customers jobs, I use what they want me to use.

On my projects, I reach for a PIC.

Why?

I really like the community. I like the compilers. I like being able to use Swordfish in 45seconds and have a pattern set, or an LCD functioning.

You REALLY can learn anything from the forums. Here and microchip.com. And thousands of other fan-sites (so-to-speak)

So many schools are using PICs for their base, and quite a few senior projects for these universities use PIC.
This leads to a surplus of HIGH level functions and processes available to us all.

The ATMEL (AVR) gets a lot of its work from the art crowd. The Arduino has a lot to do with this. It helped put uC's into peoples hands that were not even electronics enthusiasts.

If you are an artist and you have a sculpture you want to add leds to, or motion with servos or motors, this makes it a few step process.

I own one.

I have been looking at Bills Junebug, and am expecting one soon. This is an 18f based PIC. This family has FREE compilers available, including Swordfish, a BASIC compiler.

I reach for PIC because places like this, and people like this, have the knowledge and experience to help me out of any trap I get myself into.

Many of my clients have contracts with uC manufacturers and I am required to use that companies uC's if I want the contract.

So, what I have found, If you subtract the "social" part, they are all great devices.

You can grab a book on any of them and do the same things. Processing power, ports, blah, blah, blah...
...They are all competitors of each other and have matching chips to each other.

Some companies have horrible tool chains, and expensive tool chains. That does not sit well with me.

I use linux. I support OPEN projects. I like the fact that microchip researched, developed, funded, and released the PICKits.

This took the big money out of using controllers with REAL power. That is very cool to me.
 
RMMM,
What a great reply! Really agree with the last five sentences. :D

I too lean towards Microchip's products.
 
I use PIC, AVR, TI, and am dabbling with the ST32 Discovery.

On customers jobs, I use what they want me to use.

On my projects, I reach for a PIC.

Why?

I really like the community. I like the compilers. I like being able to use Swordfish in 45seconds and have a pattern set, or an LCD functioning.

You REALLY can learn anything from the forums. Here and microchip.com. And thousands of other fan-sites (so-to-speak)

So many schools are using PICs for their base, and quite a few senior projects for these universities use PIC.
This leads to a surplus of HIGH level functions and processes available to us all.

The ATMEL (AVR) gets a lot of its work from the art crowd. The Arduino has a lot to do with this. It helped put uC's into peoples hands that were not even electronics enthusiasts.

If you are an artist and you have a sculpture you want to add leds to, or motion with servos or motors, this makes it a few step process.

I own one.

I have been looking at Bills Junebug, and am expecting one soon. This is an 18f based PIC. This family has FREE compilers available, including Swordfish, a BASIC compiler.

I reach for PIC because places like this, and people like this, have the knowledge and experience to help me out of any trap I get myself into.

Many of my clients have contracts with uC manufacturers and I am required to use that companies uC's if I want the contract.

So, what I have found, If you subtract the "social" part, they are all great devices.

You can grab a book on any of them and do the same things. Processing power, ports, blah, blah, blah...
...They are all competitors of each other and have matching chips to each other.

Some companies have horrible tool chains, and expensive tool chains. That does not sit well with me.

I use linux. I support OPEN projects. I like the fact that microchip researched, developed, funded, and released the PICKits.

This took the big money out of using controllers with REAL power. That is very cool to me.

It's all good I like Pic Microchips mainly because it's what I know but there is chips out there that are good to but like RMMM, said it cost more to use them you can almost use a pic for free a old computer and real serial port cut off one end
of the serial cable and put and handful of resistors on it and your good to go with LVP programming and a Pic

That's how I started then I got a real pickit2 and fell in LOVE
 
The thing I love about Microchip PICs is not only the PICs themselves, but the available tools, reasonable pricing, and not to mention the support and training videos available online. Plus they've got chips that will outperform an 8031 not only in speed but also in available on chip resources.

Now one question I have is in regards to the SFRs on uC's. This is completely going off of what I've been told by a programmer friend of mine, but he was telling me that other uC's have the SFR's sectioned off as their own thing separate from the on chip RAM and he felt that it was wierd that PIC's have them set up as part of the on chip RAM. Is this truly a "wierd" thing? Is it even true at all? If so, what are the pros/cons to having the SFRs as part of the on chip RAM as well as the pros/cons to having the SFRs as their own separate thing?
 
Now one question I have is in regards to the SFRs on uC's. This is completely going off of what I've been told by a programmer friend of mine, but he was telling me that other uC's have the SFR's sectioned off as their own thing separate from the on chip RAM and he felt that it was wierd that PIC's have them set up as part of the on chip RAM. Is this truly a "wierd" thing? Is it even true at all? If so, what are the pros/cons to having the SFRs as part of the on chip RAM as well as the pros/cons to having the SFRs as their own separate thing?
I can't think of any pros or cons to having the RAM and SFR's together or separated, I think it's just something that you need to get used to if you are used to having it the other way. One of the things I find awkward about PIC's is that the SFR's are located in 2 or more banks so you are constantly doing bank switches, And in some the RAM is also in blocks spread across different banks. This can be an aggravation if you need a continous block of ram. This may be some of the reasons your friend finds them "wierd" because in processors where the RAM and SFR's are separate they are in continous blocks.
 
A processor designer is free to do what he likes with the various elements.

The TI-990 was an 16 bit mini computer that like the PIC used program memory for registers. The neat thing about it is that you could use any memory for your GP register set by setting the workspace pointer. Great for multi tasking and context switching. TI had developed RAM chips that ran at the same speed as the processor core. It was a sensible thing to do for them at that time.

So maybe less used is a better description then weird.

EDIT: Bank Switching... If you do not like it go with a processor with more bits or program in a HLL. We have that choice and at a reasonable price too, unless you are penny pinching for a large production run.
 
Last edited:
Boobs are weird if you never seen them before.

It is just what you are used to.

Using C or BASIC or anything other than ASM, the compiler will handle all bank management, and considering the physical size of flash memory now-a-days, manufacturers can pack a lot more memory on a uC then before. Having the ability to swap and change the pointer is a GOOD thing. It gives the designer MORE control. When memory was "ultra-limited", things like this were of high importance.

So now, you build code. You know the compiled size. IF you need 1k more ram, get it. It will be, what? a few cents?

With more memory, high level compilers are given the ability to automatically handle memory with out jeopardizing program space.

Microchip makes SOOO many uC's that you can simply decide that you want the next step up. And that step doesn't break the bank.

That is one of the great thing about them. If you need one more 'k' of memory, but dont want or need 12 more IOs and whatnot, Microchip HAS IT.
 
As it's not yet mentioned, I'll go ahead. I wouldn't call it my favorite, but that's what I started using - it's MSP430 from TI. At first in package of ez430 that is small USB stick, then Launchpad - that is full development environment with debuger and simpla chip for 4.3$. I guess best feature of those are that they are very cheap and easy to start with. Also I like how they are handling power managment - so they wudl be good for somethign small powered from bateries that needs to last long. Also, good if you start with small ones, you can go up to bigger TI's MSP430 and still use all that you learned. Well, but I guess that would apply for any MCU family you choose. BTW, I just wrote blog post of how I connected Digital Caliper to PC using this Launchpad.

I also have bought and want to try some day STM8-Discovery and STM32-discovery. Especialy with STM32 - for 8 bucks you get so much meripherals and flash and 32 bits that from value for the money point of view I' m eager to try them.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top