-
EEVblog #63 – Microchip PIC vs Atmel AVR
Posted on February 22nd, 2010 114 commentsLet the microcontroller fanboy wars begin!
Dave’s rather random rant on which is better, Microchip PIC or Atmel AVR.
(Warning, Dave hates Fanboys)And check out this way to program AVR chips with the PICkit2
114 responses to “EEVblog #63 – Microchip PIC vs Atmel AVR”

-
this is funny to see angered avr fanboys arguing that they are not fanboys
which just prove exactly opposite
-
I have worked for both companies. You started off great, there are definite trade offs. But it did not take long to figure out your a Fanboy.
-
do you guys think they will upgrade this product to a better one ?
-
Andreas May 10th, 2010 at 02:38
Hello Mr. Jones,
the link of the site changed
it says that it is found atOld: http://pickit2avrisp.wordpress.com/
New: http://pickit2.isgreat.org/ -
Dude, your section on the compiler could be summed up into: “I used the latest Microchip tool, and in comparison with some ancient version of the Atmel tool it was better. I haven’t tried the newer one, but I bet it sucks.”. Who’s the fanboy again?
-
Harry Weston May 15th, 2010 at 22:40
Hello Dave
Thanks for the brilliant blogs, came across them when I was looking for an oscilloscope — DS1052E on its way. And I’ve learned an awful lot more about a lot more. Using up the gigabytes rather fast, and my wife wonders at the hoots of appreciative laughter
The only disappointment is your deprecation of assembly language programming. I agree it takes a lot of learning — I spent 25 years teaching it (and C and Cobol) to undergraduates. I like it because it gets me so close to, and really understanding, the guts of the machine, and, once you’ve got a library of routines, e.g. LCD drivers, it’s not as longwinded as it appears.
The real secret is good documentation, and plenty of it.
Best wishes, Harry
-
“Define the task, do your research and apply the microprocessor best suited to it.”
Must be why I have always looked in derision on OS fanboys. I’m pretty agnostic on that particular subject as I’m dealing simulataneously with Mac, Windows in both server and desktop form, Linux and IOS. Meh, each one sucks in its own particular way and each one has major strengths to make up for it.
As to the AVR environment being best suited to Linux, I beg to differ. Every time the core libraries change, you have to upgrade the whole operating system so you can get the new packages, otherwise dependencies eat you alive. Meant I was stuck in Mega168 land a while when everyone else on Windows was running Mega328s until I could crawl off from under the Econolypse of 2007 and get some equipment upgrades.
As opposed to Windows where you just reload a newer version of WinAVR which tends to be OS Version agnostic. It’s why I gave up on running a separate Linux system, got the hottest quad-core I7 I could afford, installed Windows 7 and run a couple versions of Linux on virtual machines.
-
Hi Dave,
I liked your show and it got me, a long times AVR user, to reactivate my dsPIC eval board. Hmm, are pics really that great, if Dave says yes, probably he is right. So I tried it. And you know what? It took me 2 days (!!!) to get the damn thing to work. The drivers for the ICD2 wouldn’t work under Win7 64 bit (how can one even expect that for a design that will retire coming September), then they did, then they actually didn’t really because the ICD2 was from an early batch with Cypress controllers inside, so I had to install Win7 XP Mode to have the toolchain run under a virtual machine. Finally it worked, but until I had figured out which files you had to add where and how to configure the debugger and stuff and that there is a debug and a release mode, the second day was gone. Given, that you base your opinion about AVRs on your first toolchain impression, I believe it is justified to say that PICs can just suck as hard.
In terms of performance, the slow instructions are a pain, but you have more functions in the chip, so all in all- they are the same and the projects determine what you need. The only adavntage I see for going with Microchip is simply availability, the other claims you make could as well be turned around against PICs. -
Ha! It’s funny because while trying not to show his fanboyism for Microchip, he shows his fanboyism for microchip.
-
Wow. I couldn’t finish this one. So much bad info. Yes 50 dollar’s for a programmer isn’t much but there is never reason to waste money. At least for AVR, AVRdude support for serial banging is fine, and very well documented (far better than ARM stuff I have used). Having a debug interface is perhaps nice but most beginners are fine with printf or similar.
I would say the strongest advantage microchip seems to have over Atmel are some of the free stacks it has for supporting parts. For instance software TCP/IP, wireless etc. They are written for PIC and thus pretty much drop in. Atmel doesn’t sell equivalent parts.
The biggest strength of Atmel/AVR is probably community. And this stems from Arduino. That is people who shifted to bare metal design from Arduino.
-
This is very useful and funny but…
No matter how often the author stressed how much he hates fanboys I got an impression that he is a very clear fanboy of PIC himself. Just hear how he speaks about Atmel and how about PIC.
-
dutchdude November 6th, 2010 at 20:17
Now, setting aside the very opinionated and probably unintentional slight fanboyism of PIC in your vlog (there’s no arguing opinions), I really do want to stress that your arguments can go either way.
I’ve been using Atmel pretty much exclusively for small projects because… like you, it’s simply the first thing I used and if I want to start off a project quickly, I want to use a micro of which I have the datasheets engraved in my memory. Simple as that. But in a professional context the choice DOES matter as I’ve found out. I’ll tell you which microcontroller is best: Neither!
In the big component crisis of 2007-2010 (and probably ongoing) both sides of the fence suffered really bad stocks, and basically any design requiring industrial quantities of PIC or AVR were left in the rain. These microcontrollers aren’t scheduled or reserved for professional use! Whenever Atmel or Microchip thinks the economy is going sour, they don’t bother calling up their clients and asking ‘hey, do you by any chance still need these micros in, like, a year?’. They just cut the production line and let the supply dry out.
And all the great documentation and cheap toolchains that Microchip and Atmel produce won’t help daisies if you can’t produce your product. Motorola – with their IMO atrocious 1980′s architecture and worse toolchain (btw, i’m talking about their low-end 6800-based stuff) – have the decency to keep supply up. So if you’re an electronic engineer in the making and you go about applying for jobs with just Atmel or Microchip experience, chances are you’re going to be told that that experience is worth cod and they’re looking for somebody with at least ARM experience – in whichever form they come (if you’ve seen one, you’ve seen them all).
However, having said that there is one rational reason I use AVR, and that is the niche that I live in, electric power processing. They do have some very nice offerings like three-phase two-quadrant encoders combined with USB and some other decent peripherals that you just don’t find in the Microchip camp. But as you pointed out: this is really not a question of AVR versus PIC, it’s application dependent. I’ve just been working on pretty much the same application for a long time…
-
This blog is great. I was introduced to AVRs a few years back and have always use them as I had the tools and didn’t see the need for the others.
But Dave’s blog really opened my eyes to both side of the argument and now I use both PIC and AVR and have implemented PIC’s into a few of my recent boards.
Like Dave said, it is really important to keep and open mind and chose based on the requirements of a specific project. And I found by doing this design and integration was easier as i didn’t need as much external circuitry and software.
Cheers
Jesse
-
Kuolas May 29th, 2011 at 01:44
I program on both micros, I use wherever micro suits the job.
But I must say, MPLAB it’s really outdated, with an ugly GUI and a lot of quirks (like the tabs requirement on ASM code, nonsense!). I do really appreciate AVRStudio GUI and workflow.
AVR is nicer, but PIC is really competitive.
But, who will use PIC32 or AVR32 when there are better options on the 32bit arena?
-
Educational and entertaining. It constantly impresses me that Dave can keep talking so lucidly and constantly to a video camera while alone in his garage. I guess it’s because he knows the subject to such an expert level.
Really awesome content, thanks for covering this topic Dave, it’s helped me see things in a new light and to stop worrying about the petty details.
-
Anonymous July 11th, 2011 at 16:51
My personal opinion is use whatever the hell you want until it stops doing what you need it to do. If AVR’s do everything you want and you feel comfortable with em…why NOT use it.
What pisses me off is the (AVR especially) fanboys who will use outdated arguments. Microchip DOES have PICs with 1:1 MHz:MIPS even though this pissing contest doesn’t really matter for hobbyists. Microchip DOES have a free C compiler (who cares about code optimizations when most of us don’t even come close to maxing 128/256 KB prog memory)? Microchip has TONS of documentation and application notes in asm AND C.
And who gives a shit what is best with asm? You’re a dinosaur who is wasting time if you try to code up a large program using asm. Coding in a high level human readable language is faster. Period! You might squeeze out .000001% more efficiency but you spent too much time accomplishing it.
-
This site( Denon avr 1611 ) Are very awesome for the educational program.
-
Jon Leitner November 30th, 2011 at 17:07
I am loving this blog!
I’ve noticed no mention at all in these posts of either the PIC or AVR-based BASIC compilers. I’ve spent some time using PICBASIC PRO from MELABS and really like the ease of use and documentation, plus the support for a wide range of PIC MCUs. I know that there is BASCOM for the AVR and have read some good articles on it in Elektor Mag. Any thoughts on either of these software products? PICBASIC was a good and easy transition for me as a fifteen year RF engineer who hadn’t done really any programming since the early nineties (in those days using DOS Turbo C/C++), being almost all analog. I know most of the embedded world uses C, or the multitude of variants based on C. Just want to open the discussion on BASIC as an easy language to learn. Thoughts, Dave, anyone…
Leave a reply
-






Therian March 12th, 2010 at 19:00