I have always been in the dilemma of which microcontroller to choose and work on, on the previous courses or projects I worked on, my supervisor used to take that decision for me to leave me the challenge of getting it working.
But now I’ll start my project that has certain limitations; I want to choose the easier cheaper & most suitable microcontroller this time that fits that project, I decided to dig it hard and I thought about sharing this information and document my trip between the different types and brands, may be it will be useful to someone else who stands in my current position, or to me later when I get older and suffer from memory loss ;- ).
If you want a brief introduction to microcontroller, here is this link:
& of the different types of the augmented boards here you are this link:
I plan to make a comparison of these different augmented boards later to help in the beginner projects, and for me I do it to end this hassle every time I decide to teach the course of introduction to microcontrollers, please follow the posts.
Now I’ll compare between the microcontrollers themselves, the larges two names in the market nowadays are PIC and ATMEL.
I searched a lot for the differences between them, downloaded a lot of datasheets and finally of course visited some forums that discussed this topic.
To summarize what I found on the forums, simply I found that everybody is saying that there is not a huge real difference in the capabilities, ATMEL is cheaper, easier, has lot of free debuggers, or purchasing $50 Dragon, while PIC is more expensive.
for more details & following up the discussions here you are the forums:
Please take in consideration, that the comparison I’ll do won’t take the programming language in consideration because I know all of them, I know C/C++, Assembly, Java, Visual Basic,..etc.
I’ll mainly concentrate on the I/O no. and memory required because of my current project.
My current project has 3 main limitations:
1. Large I/O pins, about 400 pins!!
2. Large Memory required about 4MB; this is large to a microcontroller!!
Of course I’ll use many microcontroller chips; the design will have them cascaded; some working in parallel and other in sequence.
No need for AD as all IO are already digital but may be I’ll make use of the interrupts pins.
For the above limitations, of course I can’t use any augmented boards, many of their features will be useless, and moreover they will decrease my IO & memory which I need so hard.
Now I’ll start digging the features and different types of ATMEL.
The best device introduction is on this link:
AVRs are generally classified into four broad groups:
tinyAVR — the ATtiny series
0.5–8 kB program memory
Limited peripheral set
megaAVR — the ATmega series
4–256 kB program memory
Extended instruction set (Multiply instructions and instructions for handling larger program memories)
Extensive peripheral set
XMEGA — the ATxmega series
16–384 kB program memory
44–64–100-pin package (A4, A3, A1)
Extended performance features, such as DMA, “Event System”, and cryptography support.
Extensive peripheral set with DACs
of course if I’m going to choose ATMEL then it will be ATEM XMEGA, for further details & for downloading the data sheets, here you are the link:
To make it short, these are the most important links in this page:
For comparing and purchasing ATMEL, please visit :
For comparing and purchasing PIC, please visit :
OK, in fact there are many other microcontrollers, like Motorolla, let’s have af further deeper look at it in the next post ISA and compare it to PIC and ATMEL.