Arduino IDE versus Eclipse arduino

I recently discovered this.

Blew my mind off. It allows one to use Eclipse to compile Arduino code. I am not sure how well it works. I would like to check with the experienced forummers here who have tried it.

How does Eclipse Arduino compare against Arduino IDE? What are the pros and cons of each IDE? Would you advise an intermediate user to move on to Eclipse?

I use it. Seems to work fine for me.

Being a long time Eclipse user, I quit using the Arduino IDE and have been using the Eclipse add-on for a long time. Great stuff! ...but be sure to read about how to install it and use it.

The Arduino IDE is nice but lacks several Eclipse features such as word completion and name completion and realtime compilation. I also like the Eclipse connection with SVN and git.

Thanks for all the replies. Are there disadvantages to using Eclipse? I hear only praises so far and would like to hear the other side of the story.

The Arduino IDE is easier to learn, does not require .h and .cpp files, and usually provides prototypes.

Of course, it is easier to learn because it does less.

lightaiyee: Thanks for all the replies. Are there disadvantages to using Eclipse? I hear only praises so far and would like to hear the other side of the story.

It takes up gobs of memory gigs and gigs of the stuff. It is very complex to use and it is very slow. There are a bewildering number of options and so many versions of packages it is untrue. The documentation and help always seems to be three versions old.

You might gather I did not like it.

The recent release of Arduino AVR Boards 1.6.12 exposed a serious bug in the Arduino IDE that caused the authors of some of the most popular AVR based 3rd party hardware packages to remove the items from the toolsDependencies field of their Boards Manager JSON files. This was the most simple fix for the bug but unfortunately the Arduino Eclipse plugin requires this information. This means that you can't easily use those packages with the plugin anymore as Boards Manager style installation was the recommended way to install them.

The Arduino IDE bug has been fixed in Arduino IDE 1.6.11 but that doesn't help for backwards compatibility so it's likely this situation will persist. The Eclipse plugin developer has so far refused to modify the plugin code to support what the Arduino IDE has always supported(those toolsDependencies items were never required as long as the package worked with whatever AVR toolchain was already being used by the Arduino IDE).

On that alone I would not be interested in using the plugin. 3rd party hardware package developers will add Eclipse compatibility if it's easy to do so but so far it seems they are not anxious to jump through a lot of hoops to do so when the Arduino IDE already supports their package with a minor change. It's enough of a hassle just to maintain reasonable backwards compatibility while adapting to the breaking changes the Arduino developers keep inflicting on us.

Arduino IDE repository issue for this topic:

Eclipse plugin repository issue for this topic:

I like using the Arduino IDE because that's what the majority of people are using. If I don't use it then I can't spot bugs to report to the Arduino developers, I can't help people here on the forum, and I won't know if my projects will work correctly with the Arduino IDE. I frequently see "Arduino" sketches someone has published that won't even work in the Arduino IDE because the developer uses Eclipse.

I have used corporate level Enterprise products from Microsoft, Borland, Sun, Oracle, and others such as Cypress. The ArduinoIDE appears to be"brain-dead" but since I publish some projects, I stuck with it. Over the years, I have grown more fond of the simplicy because I have started to encapsulate almost all 3rd party libraries within the sketch folder.

The above serves two very worthy needs: 1) I can easily Zip the sketch directory and upload it with my project write-up 2) I can hack the poo-poo out of 3rd party libs and not affect the next project

Generally, I will never change anything in /arduino/libraries; that stays fixed. I will make copies of the libs inside the sketch folder and re-point the IDE. I almost always prototype just for documentation as I do change libs to suit my projects.

From an author's point-of-view, the ArduinoIDE is adequate, presents the needed toolset, and is well-supported which means far less support that I must do independently. Hard disk space is cheap, so making copies of libraries within the sketch folder is painless and means that I never worry about the next version of a lib breaking my old sketch!


I have not tried using Eclipse for Arduino developement, but I do not really believe it's worth it. I believe that using VIM for Arduino developement (which is something I am hoping to try out soon, but I haven't got around to setting everything up yet) might be really beneficial.

The mane benefit with IDEs are:

Intelligent autocompletition: But since C is not an object oriented language, this feature is not much more useful (arguably less) than the Vims "stupid" autocomplete, which just completes a word when you press a keystroke, without caring if it fits or not.

Debugging: But this is not supported by the Arduino hardware

Intelligent code refactoring: But... Vim can do that too, mostly

GIT or another version control:

But... Vim can do that too

Browsing the project tree, managing multiple files: Arduino project are sparely separated between multiple files, edited by user

All in all: IDE (with a plugin to fix the bug that causes it to NOT behave like Vim) is great for Java or another super high level languages. But for C, Vim is the way to go!

Thanks for all the replies. Are there disadvantages to using Eclipse? I hear only praises so far and would like to hear the other side of the story.

You have not said whether you are already familiar with Eclipse?

If you are it probably makes sense to use it for everything rather than learning 2 different IDEs.

If you are not familiar with Eclipse I would question the value of learning it (for all the reasons quoted by @Grumpy_Mike) just for Arduino projects.

I tried using Eclipse a few years ago for developing Ruby projects but I gave it up in favour of a simple text editor - first Gedit and now Geany. I have written a small Python program so I can compile and upload directly from Geany. This allows me to use the same editor for all my programming. I can also work around the irritating IDE requirement to have my .INO file in a directory of the same name and I can #INCLUDE files with relative references.