3D Robotics


As mentioned in my earlier Arduino DUE post (DUE is now released, BTW!), the new Arduino IDE will make it easier to support different hardware platforms, including the PX4 board. Now the beta of Arduino 1.5 is out, and the team explains more:

The new Arduino 1.5 software brings a number of improvements, some in support of the new Arduino Due board and others to make it easier to install libraries and to simplify the boards menu. While these new features should work well, we expect to get lots of feedback and to iterate on them in future releases of the Arduino software. That also applies to the new (experimental) libraries for the Due, which add features like USB Host, audio playback, and cooperative scheduling. In the short-term, if you’re not using the Due, you might want to stick with the current 1.0.x (AVR-only) releases of the Arduino software; Arduino 1.0.2 will be out shortly. In the long-term, though, we’re going to be basing the Arduino software on the Arduino 1.5 code. Here’s an overview of the improvements and changes it contains.

Support for Multiple Microcontroller Architectures and Toolchains

While the interface for compiling and uploading sketches remains the same, we’ve made some significant changes under the hood in order to support the new 32-bit, Atmel SAM3X ARM processor on the Due. The new Arduino environment (IDE) can now be configured to target multiple processor architectures, each with its own toolchain and compilation process. To support a new processor family, the core language and libraries need to be ported (as we’ve done for the Due) and some configuration files edited to specify the commands for compilation and uploading. We’ve focused on ensuring that this new system works seamlessly for the Due and our existing AVR-based boards, but with some tweaks and improvements, we imagine that it will allow the Arduino environment to work with many, many more microcontrollers. We’ll be posting more details of this new system soon but, for now, you can look at the “avr” and “sam” directories in the Arduino software for an idea of how it works.

Note: the changes to the underlying configuration files means that older “third-party hardware” folders will require some tweaking to work with Arduino 1.5. We’ll try to improve backwards compatibility in future versions of the software but, for now, you’ll need to work with makers of third-party hardware to update their files for Arduino 1.5.

Easier Library Installation

Arduino 1.5 makes it easier to install libraries. We’ve added a new “Add Library…” menu item (inside of “Sketch > Import Library…”) that prompts you select a library zip file or folder on your computer. It then copies it to your sketchbook folder and adds it to the list of installed libraries. You can still install libraries manually but this is a simpler alternative.

Simplified Boards Menu

With the addition of the Due, the boards menu in the Arduino software was getting so long that we decided to simplify it. To do so, we’ve separated the choice of the board itself from that of the processor (microcontroller) on it. For example, if you’re using an Arduino Mega with an ATmega1280, select “Arduino Mega” from the boards menu and “ATmega1280″ from the processor menu. To make things easier, the processor menu defaults to the microcontroller on the most recent version of the selected board. So if you have an Arduino Mega with an ATmega2560, you can simply select “Arduino Mega” from the boards menu and the processor menu will default to the appropriate item (“2560 or ADK”). If the selected board only has one processor option, the processor menu will be disabled. (For example, every Leonardo board comes with an ATmega32U4.) We hope this makes it a little easier to find and select the board you’re using.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Are you planing 32 bits APM based on DUE in near future ? :D

  • I haven't tried it with libraries, but certainly if you have the "use external editor" selected and then edit (with N++) any of the files that are open in the Arduino IDE then when you verify or upload it will use the latest version you saved (just make sure you saved from N++). I tend to use VisualStudio now with the VisualMicro add-in, but used to use the N++ approach. Certainly a better editor than the Arduino IDE.

  • I was doing the same route as Robert. Good to know there is no need to close/reopen over and over.

  • Ok, so if I open the program "Arducopter", then every time I push "verify", it will reload all the files, including the libraries?  That would be helpful.  Currently what I do is I leave one Arduino window open, with the blank program in it.  Then I go open Arducopter, which opens a second Arduino window with the program open in it.  I do a verify, and if I get any errors, I close that window, makes changes in N++, and then open Arducopter again from the first window, and verify again.

    So skipping part of that would make it a bit nicer.  Still not as nice as if Arduino was a better editor natively.  Just the inability to search for a variable across all files in a program is one of the biggest things.  Unless I'm missing something.

  • It forces a reload of the source before compiling.

  • What does that do?  I never noticed it before.  I just tried it out, and all that it seems to do is lock out editing in the Arduino IDE?

  • 3D Robotics

    You can set it to use whichever editor you want (as you have always been able to do). Just select that in the Preferences.


  • i agreed !

  • 100KM

    I second that Robert !

  • I really wish they could talk to the Notepad++ people, and implement all the features of N++ to the Arduino IDE.  I do all my code surfing in N++ due to easy of use.  But then I have to open Arduino to test compile.  Would make everything better if Arduino allowed code surfing as easy as N++.

This reply was deleted.