Blog Home

Arduino 1.5: support for the Due and other processors, easier library installation, simplified board menu, etc.

David MellisOctober 22nd, 2012

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.


We want to hear your feedback about Arduino 1.5 and its new features. For general suggestions and discussion, you can post on the Arduino forum. If you find a bug, please add it to the Google Code issues list. If you’d like to get more deeply involved in the development of the Arduino software, subscribe to the developers mailing list. We’re planning to iterate on the software and its features, so look for Arduino 1.5.1 and other releases to come soon.

Finally, I want to talk about the people who have made this release possible. Cristian Maglie has led the development of the Arduino 1.5 software and has done an incredible job. In the last few weeks, Cristian and I have been ably assisted by Federico Fissore, a Java developer also based in Italy who’s banged out a number of features. The multiple-platform code in Arduino 1.5 was initially based on work by Rick Anderson. And, again, the Due itself is the product of work by a number of additional people, as mentioned in our previous post about the board. Thanks to everyone!


14 Responses to “Arduino 1.5: support for the Due and other processors, easier library installation, simplified board menu, etc.”

  1. Carlos Santiago Says:

    What other 32 bit platforms will Arduino 1.5 support? Will other processors like the Freescale Freedom board with the Cortex M0+ or the STmicro ST32F, or other popular 32 ARM processors be supported?

  2. Arduino 1.5 IDE Software — Arduino Passion Says:

    […] Source: Download page Via: Arduino blog […]

  3. Mike Says:

    It would seem a natural for the new Arduino IDE to use the new toolchain extension capability to support the Raspberry Pi

  4. Pete Says:

    The Raspberry Pi is a computer, not a microcontroller. There are very different beasts.

  5. Jim Says:

    I would most like to see built-in support for the 328 non-P, as well as the 644P and 1284P devices, and the Tiny series. I know there are some 3rd party versions of these, but they tend to be limited, buggy or unusable. As for board selection, an ADD/REMOVE menu would be a wonderful way to shorten the board list.

  6. massimo Says:

    The IDE 1.5 already shortens the board list. the ADD/REMOVE menu, in my opinion, would confuse beginners while experienced users can edit the boards.txt file.
    The new IDE makes it easier for people to add support for those platforms. We
    do not plan to add official support for products we don’t actually sell.

    Pete is right, Arduino is a microcontroller, the raspberry pi is a computer. different architecture and different approach.

    @Carlos Santiago
    Although it’s technically possible to add support for those processors to the IDE, Arduino supports itself by collecting royalties on the products we license. It would damaging for us to support heavily subsidised platforms that undercut our products and do not contribute to our livelihood

  7. Lançamento da Nova IDE para Arduino Versão 1.5Bileras Says:

    […] selecionar “ATMega2560″ no menu de microcontroladores. Para mais informações, acesse…Sobre o AutorGuilherme Bacellar        Mais artigos de Guilherme […]

  8. Visto nel Web – 50 « Ok, panico Says:

    […] Arduino Due Brings More Power To the Table ::: Slashdot ::: Arduino ::: lffl ::: Geek […]

  9. Bob Says:

    It looks like this download for 1.5 does not have the same contents in the ‘Libraries’ folder as what came in 1.0.1. For example the ‘SD’, ‘Servo’, or ‘Ethernet’, etc. libraries. Are these built into 1.5 somehow?

  10. mellis Says:

    Some of the libraries are now in hardware/arduino/avr/libraries (or hardware/arduino/sam/libraries) because their implementations are specific to the given platform. A few libraries still need to be ported to the Due and are only available for the AVR-based boards.

  11. Michael Palmer Says:

    You don’t want to add the new Arduino Micro to the list of boards in 1.5? (I have 1.5.1, it’s not in there.) The Micro on the list of boards in 1.0.2, but there is a bug effecting the Micro in 1.0.2 (see,131143.msg998165.html#msg998165 ).

  12. sorova Says:

    I have downloaded the new arduino 1.6.3 and the PC reconises the Arduino Due. However, the Arduino Tool Board menu does not include the Due! how do I add it?

  13. emcniece Says:

    @sorova if you’re using 1.6.4 IDE, open Tools->Board->Board Manager, select the “Arduino SAM Boards (32-bits ARM Cortex-M3” item and click Install.

  14. niluje Says:

    Hi, I use the 1.6.7 IDE and I’ve installed the “Arduino SAM Boards (32-bits ARM Cortex-M3)” for my DUE, and it works fine. However, I would like to tune some build parameters in my board.txt file, but I have no folder “hardware/arduino/sam”. I only have the traditional “hardware/arduino/avr” folder, where boards.txt does not contain the settings of the DUE.

    Where can the settings of the DUE be found? Should I create myself a new boards.txt file in a new sam/ folder?


Leave a Reply

You must be logged in with your Arduino account to post a comment.