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.