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.

Which Microcontroller you suggest me for my needs?

Status
Not open for further replies.

elisaios

New Member
Hallo to all,
i am a student in university in greece(Computer engineering) and now its time to start learning microcontrollers.

So i need help from more experienced guys.
The characherestics that the microcontroller want to have is:

1)be popular
(That means that there are lots of information on internet like tutorials,examples,books with its architecture)

2)Free development tools and simulator
(i dont know if simulator is so important i think it is when you program in assembly whats your opinion?)

3)I want to start from low level in parallel with hi-level.
I want to write some simple assembly programs at first because i like to know what happens in hardware and then move to abstract c,or do it in parallel(so ii need a free assembler to do that and the assembly not to be so complex)
Also i would like to understand its architecture so i wouldn t like a mcu with very complex architecture.

From what i have read on internet i think that a 8 bit AVR or PIC would be good.But which model and which for my needs??

The experience that i have right now is:logical disign,basic electronics,architecture,c programming and little assemply(these experiences are not about microcontrollers but in general)

I would appreciate any help very much.
 
Last edited:
Personally I'd recommend a PIC, but only because that's all I've used in the past. I haven't tried AVRs, but I can speak from experience that a PIC fits every one of your requirements you mentioned. Personally, I started with the PIC18F1330. It's a very decent, 18-pin processor with built in ADC and timer functions, and various other built-in devices. It's a good starter chip, but I wouldn't mind hearing some other suggestions as well ;)

You can find all of the pic program development software online for free (or at least in a free "lite" version). The only thing you'd have to buy is the PIC and the programmer (PICkit2 or PICkit3), which you can get for around $35. Trust me though, it's worth it!

Hope this helps!
Regards,
Matt
 
If you are going to take microcontroller classes at your uni you might want to start with the microcontroller they use.

In my uni you can use whatever microcontroller you want.
Or if you dont want you have to do a theoritical project about Z80.
 
I would go with a PIC18F2520 lots of code to look at for them and it has 28 pins so you can easily use a LCD and run a bunch of things with it.

Pickit2 and two pic18f2520 and a bread board solder less and your ready to go pic'ing
 
Go for AVR because:

- Simpler and more powerful architecture than PIC.
- Free development environment available from Atmel.. AVR Studio beats any PIC IDE I've seen.
- Better suitable for C programming because of the modern architecture and AVR-GCC beats all the free PIC C-compilers.
- AVR is more popular in universities.
- Great tech support provided by Atmel.
 
Last edited:
I would go with either PIC and if you want to cheap out, a PicKit 3 clone. $20
..or an MSP430. The Launchpad has a debugger built in that can be used with and there's actually a lot of good resources on the net. It's really picked up lately. $4.30

Both have free 'lite' development environments that include programming and in circuit debugging.

I can't really comment on AVR. My understanding is that to get in circuit debugging you need the full JTAG ICE debugger or a clone. Unfortunately there's not a lot of AVR people here. You can ask on https://www.avrfreaks.net/ if nobody chimes in here.

EDIT: ninja'ed by misterT.
 
Last edited:
Go for AVR because:
...
I was thinking by now people here understood that such comparisons are waste of time.

Generally for every argument a counter argument can be found. If the chip does the job it does not need to be better, and, a better chip can always be found. And like the search for the worlds most attractive woman, beauty is often in the eye of the beholder.
 
I was thinking by now people here understood that such comparisons are waste of time.

Did you even read the OPs questions. I gave answers to all of them. I know PIC and AVR can do the same job equally well in almost any application, but AVR development tools and C language support is way better than what is available for PIC controllers. And the AVR architecture is simpler and easier to learn.
 
Last edited:
guys thanks for answers.

So i am between a pic and an avr 8 bit.

1)From your posts i have understood that both pic and avr have free developments tools,i dont know which tools are better but they have.am i right?

2)do you think simulators are importants?

3)which pic and avr are the most popular and fιt better my needs do you think?(i will search about them on internet to see how popular they are and if i concude which i want i will write here to suggest me if you can any kit and to speak more specific)
so your suggestions are very importan to me.

If you can answer to me with numbers,which it will represent the question you answer.That way the answers are more specific and you help me more(thanks)
 
Last edited:
1 your right
2 yes you'll want that
3 is up to you any with the right pins to do the job Uart,SPI ADC things like that

There is a lot out there for both AVR and Pic Boost C is good and works well with MPLAB
AVR I don't really no more then There is a free C compiler and It looks great.
But I love pic there what I started with. And Like 3v0 said they all can do the job. Just pick a chip for it

Like 18F2520 nice chip 28 pins

Peripheral Highlights:
• High-Current Sink/Source 25 mA/25 mA
• Three Programmable External Interrupts
• Four Input Change Interrupts
• Up to 2 Capture/Compare/PWM (CCP) modules,
one with Auto-Shutdown (28-pin devices)
• Enhanced Capture/Compare/PWM (ECCP)
module (40/44-pin devices only):
- One, two or four PWM outputs
- Selectable polarity
- Programmable dead time
- Auto-shutdown and auto-restart
Peripheral Highlights (Continued):
• Master Synchronous Serial Port (MSSP) module
Supporting 3-Wire SPI (all 4 modes) and I2C™
Master and Slave modes
• Enhanced Addressable USART module:
- Supports RS-485, RS-232 and LIN/J2602
- RS-232 operation using internal oscillator
block (no external crystal required)
- Auto-wake-up on Start bit
- Auto-Baud Detect
• 10-Bit, up to 13-Channel Analog-to-Digital (A/D)
Converter module:
- Auto-acquisition capability
- Conversion available during Sleep
• Dual Analog Comparators with Input Multiplexing
• Programmable 16-Level High/Low-Voltage
Detection (HLVD) module:
- Supports interrupt on High/Low-Voltage Detection
Special Microcontroller Features:
• C Compiler Optimized Architecture:
- Optional extended instruction set designed to
optimize re-entrant code
• 100,000 Erase/Write Cycle Enhanced Flash
Program Memory Typical
• 1,000,000 Erase/Write Cycle Data EEPROM
Memory Typical
• Flash/Data EEPROM Retention: 100 Years Typical
• Self-Programmable under Software Control
• Priority Levels for Interrupts
• 8 x 8 Single-Cycle Hardware Multiplier
• Extended Watchdog Timer (WDT):
- Programmable period from 4 ms to 131s
• Single-Supply 5V In-Circuit Serial
Programming™ (ICSP™) via Two Pins
• In-Circuit Debug (ICD) via Two Pins
• Wide Operating Voltage Range: 2.0V to 5.5V
• Programmable Brown-out Reset (BOR) with
Software Enable Option
Nice chip for beginning programming.
 
Did you even read the OPs questions. I gave answers to all of them. I know PIC and AVR can do the same job equally well in almost any application, but AVR development tools and C language support is way better than what is available for PIC controllers. And the AVR architecture is simpler and easier to learn.

Yes I did. However your answer made me uncomfortable. Each person has to weigh his situation to make the right choice. But note that I did not say use MicroChip. I looked back to figure out what you said that pushed my button. Every other response was along the line of "I would go with...", at least one said they knew little of AVR. You said "Go for AVR because:".

So far we have not addressed chip availability in his part of the world. No point in suggesting one or the other if they can not be obtained.

I feel that the most important point is the quality of support available to people who are learning. Historically ETO has been much better at supporting people learning to use PICs.

A few points in favor of microchip.

With one inexpensive MicroChip programmer, the pickit3, you can program and do ICD on everything from the smallest 8 bit PIC uC to the 32 bit Mips PIC chips. You can even program serial ROM.

Microchip is very good about continuing production of older chips. You can still get that 16F84 that AVR nuts drag out to compare with AVRs latest offerings.

Microchip has a **broken link removed**to support both students and teachers. Also forums for users.

Microchip provides free samples to students in most developed countries and a discount on development tools.

MPLAB X is a programmers workbench unlike MPLAB 8 which is more tuned to EE types. MPLAB X is a bit green yet but it is getting there.

Microchip has added instructions to its latest 8 bit cores to make them more C friendly. 16 bit PICs have an instruction set that is fairly close to the AVR set (I have not verified this).
 
Last edited:
The pic16f628 seems to be popular with enthusiasts (it replaced the 16c84 which was very popular), theres another version with a to d the pic 16f88.
Mplab microchips development software comes with a in circuit debugger, it does commit 1 pin and uses 2 others while debugging but for me its been really good, saves a lot of time, you can view any register you want and insert breakpoints.
Whenever you ask which is better pic or avr on a forum you often get arguments, theres allways people that are into one or the other, so to a certain extent you'll have to make your own mind up.
Pickit2 or 3 are about 35ukp (software free) and 16f628 or 16f88 are about 3 ukp.
 
Last edited:
PIC have a bigger range and better legacy support, and if someone was eventually thinking about developing commercial products it would be better to go with PIC from the beginning, and leave the AVRs for the students and instructables (ie hobby only) crowd.

And yes I know some people do develop commercial products using AVRs.
 
Based on my experience I would suggest any PIC 18F2XXX (28 pins) 25 IO capable working with 5V.

Simulator, once you learn how to use it, is a real help. I did not try MPLABx but still using MPLAB 8.88.
 
Go for AVR because:

- Simpler and more powerful architecture than PIC.
- Free development environment available from Atmel.. AVR Studio beats any PIC IDE I've seen.
- Better suitable for C programming because of the modern architecture and AVR-GCC beats all the free PIC C-compilers.
- AVR is more popular in universities.
- Great tech support provided by Atmel.

I have used PIC, AVR and MSP430 for differing projects in addition to the TI Series of DSPs.

"- Simpler and more powerful architecture than PIC."
Perhaps, but comparing processing power on 8 bit micros is like comparing a Fiat 500 and a Reliant Robin. Pointless, there are far better uc's from every vendor if you want more processing power.

"-Better suitable for C programming because of the modern architecture and AVR-GCC beats all the free PIC C-compilers."

Hardware wise yes. In terms of compilers if you are comparing AVR-GCC to SDCC this probably holds true as well. Compare it to the free editions of the high tech compiler and its a different ball game. Not to mention the superior libraries, documentation and example projects supplied with PIC compilers. I got SD cards reading bytes out to SPI in about 10 minutes on a PIC32 using the application libraries. I would like to see such rapid development done on another platform.

"- AVR is more popular in universities."

Certainly not true in the UK. PIC's and TI uC's and DSPs are bread and butter. AVR's are generally only used in the maker type community here, who deem AVRs as some kind of religion and compare the latest 8 bit line to a 16f877 to justify marginal if any benefits.

"- Great tech support provided by Atmel"
Refer to above, certainly not the case I have experienced. They also refused to send samples.

The only reason I am using an AVR as an alleged professional designer is due to the free for commercial use compiler. The experience has not been half as pleasant as my experience with microchip or TI (for example setting up configuration fuses is a COMPLETE CALAMITY on an AVR - with avrdude it certainly is anyway). My AVR dev is done on the cheap (USB tiny and Win-AVR) so it is back to the days of printf style debugging, again something I am not particularly fond of.

Anyway what uC you want really depends on what is available and what you want to do. Whatever you do I would highly suggest having the ability to do in circuit debugging, which in my mind leaves PIC and MSP430 at the top.

The microchip simulator is also pleasant to use, and allows you to benchmark code and test ideas more easily.

The 18f2550 or 18f4550 are particularly nice IC's as they offer software stacks for CDC (serial via USB) out of the box. If commercialization on the cheap is not a worry I would go for a PIC to be honest.
 
Last edited:
As much as I'm gonna get flamed for this, I recommend Intel's MCS-51 family (8051/8052). Atmel's AT89S series of microcontrollers are their MCS-51 line.

AVR's are like "modernized" 8051's so those could be cool too.

PIC makes it simple to get started with microcontrollers.

Whatever you do, if you really want to learn the microcontroller itself, stay clear from Arduino and BASIC stamps.
 
As much as I'm gonna get flamed for this, I recommend Intel's MCS-51 family (8051/8052). Atmel's AT89S series of microcontrollers are their MCS-51 line.

AVR's are like "modernized" 8051's so those could be cool too.

PIC makes it simple to get started with microcontrollers.

Whatever you do, if you really want to learn the microcontroller itself, stay clear from Arduino and BASIC stamps.

I was wondering when you would chip in....

My vote is obviously for the MIGHTY pic.... "I like AVR.. but then again, I like pic.... But which one is better..... There's only one way to find out.... FIGHT"
(Sorry to all those outside the UK.... British joke.)
 
guys thanks for all your help.(I made a new account because my old have a problem ad i cant log in.)

I have conclude to go for a pic18f series but i dont know which model.Which is the most popular with many tutorials and examples?

Do you know any very good kit to buy?
I wouldnt like to be all in one pcb but only the μC or the μC with the programmer and all the others seperate.Or it isnt a good idea and pickit2 or 3 is very very good and it would be better to go straight for them??


thanks a lot again.
 
Either way it is a good choice. I think AVR never had a chance because 95% at ETO use PIC microcontrollers. You really got biased information. Anyway.. My advice is that don't stick with one family of microcontrollers once you get started.
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top