WinAVR, AVR Studio, Arduino IDE or Eclipse Plugin for AVR


I’m a little confused about these tools.
As far as I know, all of these tool-sets uses the avr-gcc compiler and the avr-libc library.
In what aspect do they differ from each other? (compilation, code optimization, linking, etc.)
Which one is better and why?
Is there any advantage in using Programmer’s Notepad over AVR Studio?


Please let me share my opinion. Some people will agree with this but others will say I'm talking crap. So take it as my opinion and only as my opinion.

It all depends on what you want. If you are new to Arduino I strongly advice to use the "idiot proof" Arduino IDE. Once you start feeling limited by the Arduino IDE it may be time to look at alternatives. As I have an IT background I tend to look for an alternative in the IT tools (that is eclipse or visual studio ) Eclipse is all free where there is a license constraint with visual studio.

I believe people coming from a electronics background will prefer AVR studio or other tools in that area (I don't know this area).

Really old people 8) who are used to have a high level of control and are used to "administrative operations" will prefer to control their own makefiles.

Notepad++ together with the use external editor in Arduino is a in between route where you have a good source code editor together with the Arduino IDE "Idiot proof approach"

Note that all these tools have some kind of makefiles. A makefile is a file that contains info on how you make your result (a hex file in the Arduino case) The Arduino IDE completely hides this from you. the makefile tools do not hide any makefile capability to you. Don't think makefiles are difficult. It is just anther thing to learn.

I hope this make things a bit clearer to you. Best regards Jantje

In what aspect do they differ from each other?

AVR Studio is Atmel’s officially supported Integrated Development Environment. It runs on Windows only, and includes an Atmel-proprietary assembler that uses a different format than the gnu assembler. While gcc and related tools are used to provide C compilation, most of AVR Studio is closed source proprietary software.

gcc and related are open-source development tools that are mostly command-line oriented and run on linux and unix (and unix-like operating systems.)

WinAVR is the gcc tools and related bits (bash shell, “make”, etc) that are compiled and packaged to provide a unix-like command-line development environment for AVR under windows.

Eclipse is a standard (and open-source) GUI “Integrated Development Environment” for various operating systems (written in java and designed to be portable) that supports a large number targets and languages and processors and stuff. The AVR plugins allow it to generate code for AVRs.

Arduino is a project aimed at allowing non-engineers to use microcontroller to “do stuff.” It’s IDE is vastly simplified compared to AVR Studio or Eclipse, and it includes additional libraries that add simplifying concepts on top of normal programming languages.

Is there any advantage in using Programmer’s Notepad over AVR Studio?

AVR Studio is for AVRs only. Programmer’s notepad isn’t. OTOH, AVR Studio is designed specifically for AVRs, and Programmer’s Notepad isn’t.

I like Emacs and Makefiles. But I'm not just really old. I'm really, really old.

I've used, and quite like Eclipse too. But I'm just more comfortable with Emacs -- it's like an old friend. I even found an Arduino plug-in for it (really just a minor tweak of the C++ mode), and with Makefiles, I can just press M-x compile, and hey presto! Compiler messages in a separate window, click on a message and will directly take you the file and line number in question. Just like it always has. 8)

I assume the Eclipse plug-in for Arduino gives you similar levels of functionality. The Arduino IDE is sadly feature-poor by comparison. My feeling is the Arduino IDE is great for complete noobs that just want to get up and running very quickly (and it does a great job of that), but for anyone who is a bit more "worldly" in terms of what a real development environment looks like, "integrated" or otherwise, they will be looking for alternatives pretty quickly, I should think. Fortunately, there are a few on offer.