Eclipse Foundation Member
Eclipse C++ IDE for Arduino Eclipse Project

Add this URL to your Eclipse Installation to reach this solution's update site.

Oxygen (4.7)
Neon (4.6)


Learn more...

Details Group Tabs

kclough's picture

Great Plugin. Takes working with Arduino to a new level.

I have created some code that I would like to reuse in several variants for a number of mcu's. I would like to make some compile time configurations. I know that this has been addressed before but I am looking for a very simple solution. If I were able to add a define symbol as in a normal cdt project I could have the project build by selecting a specific include file. The plugin quite correctly removes these definitions.

My problem could easily be solved if the target connection were defined I.E. -DLAUNCH_TARGET. Then using #if's I could configure my variants at compile time.

Cheers,
Ken

ndarkness's picture

Hello, I am having an issue with the plugin and windows, it apparently loses the libraries and platforms list in the " Arduino Download Manager". If I hit in updates, I get an error saying " No protocol:" clicking Details does not show anything more, only the same erro " No protocol:".

It does happens after building the project and almost all the references withing my project are highlighted in red; however, if I start a new project and include my code the references work fine, but as soon as I build it, they are gone again...

Have someone experienced this?

Thanks

ashishkin's picture

Great tool, I followed this video and have created and compiled my Arduino test project. But in the 3rd column my run target "Uno" is unavailable, I see only "Local" there. Of course I have created a lot of different connections and got "connected" message in terminal output. I am on Windows 10 x64 and had no problems with standard Arduino IDE and PlatformIO.

dschaefer's picture

Yes, there was a version mismatch in the MarketPlace and what we shipped with CDT Neon.2. Doing a Check for Updates will give you the correct version. And the MarketPlace page has been updated properly.

jwalters085's picture

I went through all of this. I eventually found a part of the setup that required running manually and after this and a restart of eclipse, lo and behold, my targets appeared. I was then able to compile and download a demo app but not run it. I gave up at this point and installed VisualMicro onto Visual Studio 2015. Worked straight out of the box and I was up and running in about 20 minutes.

This is my second attempt with Eclipse. First time was to do cross development on a Raspberry Pi and could never get that tool chain to work. That time I went to Netbeans and again was up and running in under an hour after weeks of faffing with eclipse. It's just too complicated and not in the least bit intuitive. Sorry chaps, needs a serious rethink.

jwalters085's picture

I've followed the YouTube video to install Neon C++ for Arduino, have successfully built a "Hello world" sketch and all appears fine. Now to the real task...
May target board will be an Arduino Due. I have loaded the arm-none-eabi-gcc tool chain with the Arduino Download Manager but I can't find any way of selecting it as the active tool chain for my project. Project/Properties/Libraries/Platform Libraries are set to "Arduino SAM Boards" but the build insists on using the avr-gcc tools.
What am I missing?

pcarew's picture

This is probably similar to what I do to switch between targets...
To switch between Arduino (AVR) and ESP8266 (Expressif), I need to select the correct launch target in the launch bar (3rd dropdown box).

Do you have a launch target configured for the Due board?

jwalters085's picture

Hi Paul,

My problem appears to be the same as Al Shiskin; the targets are simply not appearing in the launch Bar. All I have is Local and the option to create new targets. In similar vein, I can create targets that show up in the Connections tab and I can connect to them but that's about it.

pcarew's picture

Hello John,
One of the things I noticed in the beginning, was a problem in being able to select Arduino Project launch targets in the Launch Bar. I filed a CDT bug for this https://bugs.eclipse.org/bugs/show_bug.cgi?id=500251.

I'm not sure if this is what you're experiencing, but if so I found that after opening a project in the project explorer, I had to 'restart' Eclipse. After the restart, the correct launch target showed up in the launch bar.
Hope this helps.
Paul.

jwalters085's picture

I've followed the YouTube video to the letter and now have a fully functioning IDE that will build a demo project for an ATMega based board. Now for the real work....
The target board will be an Arduino Due with the Cortex M3 CPU. I've downloaded the SAM platform and now have the arm-none-eabi-gcc tool chain installed but I can't work out how to set up the project to use it. I've created a new Launch Target for the Due board but because I don't actually have a target processor connected at this time, it simply uses what appears to be the default tool chain.
How do I configure Eclipse / my project to use the correct tool set?

dcimminon11's picture

Hello,

I am having trouble adding a new library, I know you don't have the option of creating your own library yet, but if the library is already written and on github, Is it possible to add it to the library index json file and download it with the Arduino Download manager? Adding the library in the arduinocdt folder does not work and if I modify the json file, It downloads automatically the old one when I try to search for libraries. The attempted methods in the forum does not work.

Do you allow the community to modify the json file to add new libraries? this could be a temporary fix until the private library option is added.

Thanks for the plugin!

D.

pcarew's picture

I responded to your forum posting with the details, but essentially check that you have a 'library.properties' file in the root folder of your library.

tmcpharlin's picture

When one creates an Arduino project, there are a number of differences from what the IDE does for a standard C++ project:

The project Properties, C/C++ General group lacks the "Paths and Symbols" property group. Among the more useful missing properties are:
a. "Preprocessor Include Paths" settings not to mention that an "includes" folder is not created within the project tree (Next to "src" folder)
b. The "Libraries" and "Library Paths" property tabs are not supported, apparently.

Rather than simply explaining that these settings may be added in a future release, perhaps the author could explain his philosophy for omitting these settings. Was it an intentional design decision or simply omitted in these early releases?

tmcpharlin's picture

Or possibly the "user defined library support" feature you eluded to in an earlier post.
I'm guessing that a user-defined-bootloader may also be required in such scenarios but I have no idea (yet) how compatible the boards may be or how universal a bootloader could be made...

Is a universal SAMD bootloader feasible? How different would it be from, say, an AVR?

very cool project, keep up the great work, Doug.

My post in the main CDT forum:

https://www.eclipse.org/forums/index.php?t=msg&th=1083076&goto=1749742&#...

achestnov's picture

Where is support forum? Where can I ask a Question? I want to use and integrate my own library ? How can i do what. I don't want to write big Json file and push my library to git hub first. Please help. Thanks.

dschaefer's picture

The link to the forum is in the text above. This is open source and support is provided by the community and myself when I have time available.

And as I've stated a few times here and there, we currently do not have support for doing your own libraries. That's something I hope to add for next year's release (Eclipse Oxygen).

amikiciuk's picture

In new version of Eclipse Neon.1 (4.6.1) you can't create new project. Some of buttons is disabled to continue project creation wizard.

dschaefer's picture

I have refreshed the Arduino C++ update site with the neon.1 plug-ins on the weekend. Seems to be working now.

mheeg7k's picture

I've installed Eclipse Neon and this plugin today. But i can't create an Arduino Project! If i click on the "Arduino C++ Sketch" Button the "Next" Button does not activate. If I click on "Finish" the Project Window Closes and nothing happens.

tmcpharlin's picture

Watch the demo on youtube closely, he does not click the Next button, he clicks on the Arduino-Sketch uber-icon-thingy to the right... HTH

dschaefer's picture

If you are having problems after updating to Neon.1, make sure you enable the Eclipse C/C++ IDE for Arduino Neon update site in the preferences under Available Software Sites.

psane's picture

I just created a new Arduino project. It created a skeleton and a blank .ino file (with setup and loop). When I added a new source file (.C) to the project, it created a new file but this file is not part of a build system. I cannot get it to build with the .ino file created by default.

pcarew's picture

I believe that source files need to be cpp to be included in the build.

jcollinsgk3's picture

I'm a beginner... how do I include the Adafruit_WINC1500 library using the Eclipse C++ IDE for Arduino.

Most of the essential Adafruit libraries are present; however, there is not a library entry for Adafruit WINC1500, which I require. There is an entry for Adafruit CC3000...

Is this possible?

Please advise.

Thanks.

pcarew's picture

Is it possible to define multiple Build configurations?
I have a project where I want to target a UNO for a release build, but be able to create a debug build that runs on Windows.

I have a stub test harness for the application, that allows the logic to be run and debugged on a host environment. When I'm happy with it, I would then like to rebuild it, this time targeting an Arduino.

I looked under preferences, but didn't see a C++ setting menu (is that the correct way to setup different build configs?).

So far the Neon version for Arduino is working very well, it seems pretty fast and having the CDT source auto-complete is great.

Thanks
Paul.

dschaefer's picture

That's a use case I haven't considered yet. Generally, I do try to make sure CDT projects can target running locally and on embedded targets for the exact reason you mention. But for Arduino, I'm heavily relying on their build system metadata for builds and they don't include anything for building locally.

I'll definitely consider it and see if there's something easy I can do to support it. Might be time to think how I'd do Arduino with CMake like I'm doing with the ESP8266 boards. That will support building locally as well.

Feel free to raise an enhancement request in bugzilla so we don't lose this. Thanks!

pcarew's picture

I have created the enhancement bug and also posed a question about how this might possibly be achieved within the current Arduino Launch-bar environment.

ajanurikqmr's picture

Hi, I have a problem when I try to conect to the console. I click in "Open Command Shell" and I receive the following error message:
An internal error occurred during: "Making Connection".
org.eclipse.cdt.serial.SerialPort.open0(Ljava/lang/String;IIII)J
Anyone knows how to fix it?
Thanks

pcarew's picture

This worked ok on the Mars version, but on the Neon one I experience the same error when opening a command shell to a Uno. I verified that the correct com port (Com6 in this case) was configured.

pcarew's picture

Entered the log details in the bug report

pcarew's picture

I can confirm that Doug has resolved this in the latest build. It now works as expected.
Thanks.

ndarkness's picture

Hello Dough,

First of all thanks for the video and the plugin!

I have followed your steps and I am able to reach till the point of building my project, however while running it I don't see that it is being deployed in the target, an Arduino Leonardo. I have set the right target in the bar, but it doesn't load the binary onto it, since if I open a console terminal to it, I see the old program still running.

What can I do?

Thanks in advance!

rlevy678's picture

Installed the Plug-in.
The make phase is GREAT. I was really looking for a tool that will bring modern IDE technology to Arduino.
However - Trying to launch the program on my UNO failed. It appears the plug-in is looking for avrdude in a wrong path, and I have found no way to change that path.
Would appreciate any help.

sadisuprijanto's picture

Hi Doug,
I'm trying to follow the steps in your youtube video but Arduino Download Manager just freeze at installing tool avr-gcc. Let me know if you need more info about it. I have submit it to the bugzilla.

dschaefer's picture

Stephanus and I discussed this on the bug. But for everyone else, I have seen times when the servers were extra slow and it looks like the download is hung. I have submitted Bug 498226 to provide better information on the progress bar.

dschaefer's picture

Thanks for everyone's feedback and bug reports from the Mars Preview release. This new Neon release is much improved and supports many more boards. Assuming these comments are in order, everything below refers to the Mars release. Please try the new Neon release if you have any issues.

lmandell's picture

I'm just getting started with this and immediately ran into the problem that no serial ports are listed in the drop down menu. I've run into the same problem with the Jantje plugin. It works fin in the regular arduino IDE but to get that to work required installing usb to UART drivers from Silicon Labs.
What do I need to do to get the serial ports to show up with El Capitan?

Thank you

dschaefer's picture

What's the name of the serial port you are using. /dev/?. There's a filter so I don't show all devices that appear there. I can adjust the filter if I'm missing something. Could you raise a bug to track this?

lmandell's picture

Hi,

The serial port is /dev/cu.SLAB_USBtoUART. I will file a bug report as well.

Thank you

sadisuprijanto's picture

Hi Doug,
I tried to run your blinky sample that you post on youtube but it doesn't work. The error is unresolved inclusion: . I'm new to Eclipse and have tried to google about how to set the library path without any success.
I'm using Eclipse Mars and Mac osx. Could you share to us how to accomplish this?

pcarew's picture

Hello Doug,
No pressure, just curious if you have any projections for Arduino C++ IDE and Neon?

The Mars version shows great potential. I have been able to use it with the 'Emulare' AVR simulator ( http://emulare.sourceforge.net/ ) and do single step debugging on the simulator. After this, I could then target an Uno and download and run etc. All from your eclipse CDT IDE.

dschaefer's picture

Thanks! No pressure :). I'm putting the finishing touches on the IDE for Neon now and we're targeting it for CDT 9.0.1 which is scheduled for mid-July-ish.

pcarew's picture

I tried using this on an international air plane trip and realized that it wouldn't compile anything while offline line. Also the packages/boards were not available while offline.

dschaefer's picture

Yeah. I've had several reports of people having trouble with connectivity. The next release coming up at the end of June or early July on Eclipse Neon has a big change where I've moved the downloading of the package files to a more sensible place in the workflow in the new Download Manager that I just checked in.

pcarew's picture

Hello Doug,
I tried creating a '.S' assembly file, but it didn't get compiled/assembled with the project. Is there anything I should do to be able to include assembly files?

Thanks
Paul.

pcarew's picture

I am creating a test project and would like to generate a linker mapfile.

The ATMEL website uses the example of:
"avr-gcc -g -mmcu=atmega8 -Wl,-Map,demo.map -o demo.elf demo.o"

Is there anyway to add the liker options (" -Wl,-Map,projectName.map") to the avr-gcc command for your Arduino plugin?

Thank you for what looks like a very promising plugin.

pcarew's picture

I tried this out on Mars and it works nicely. Very straightforward.

Where are the Arduino header and library files located?
I went looking around the file system and couldn't see them.

dschaefer's picture

Thanks! The header and library files and compilers, etc. are located in the .arduinocdt under your home directory. On Windows, that's /Users/name. It's organized by platforms (hardware) and libraries. The hardware directory is organized by board types and such. It'll be there you find Arduino.h and friends.

pcarew's picture

I have the Neon version of Eclipse installed. Is there a setting tat I can change to allow me to install this plugin on Neon.

When I try directly from the MarketPlace, it says that my Eclipse version is not supported.

dschaefer's picture

No, this doesn't work with Neon yet. That's currently what I'm working on. I'll have a new version on the Marketplace when it's ready. Shouldn't be too long though. Neon releases late in June.