Arduino 1.5: support for the Due and other processors, easier library installation, simplified board menu, etc.
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!
October 23rd, 2012 at 01:22:43
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?
October 23rd, 2012 at 06:57:24
[…] Source: Download page Via: Arduino blog […]
October 23rd, 2012 at 16:45:17
It would seem a natural for the new Arduino IDE to use the new toolchain extension capability to support the Raspberry Pi http://21stdigitalhome.blogspot.com/2012/10/arduino-ide-targets-multiple-platforms.html
October 23rd, 2012 at 19:27:37
The Raspberry Pi is a computer, not a microcontroller. There are very different beasts.
October 24th, 2012 at 02:15:24
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.
October 25th, 2012 at 08:13:56
@Jim
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.
@Mike,
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
October 25th, 2012 at 09:24:31
[…] selecionar “ATMega2560″ no menu de microcontroladores. Para mais informações, acesse http://arduino.cc/blog/2012/10/22/arduino-1-5-support-for-the-due-and-other-processors-easier-librar…Sobre o AutorGuilherme Bacellar Mais artigos de Guilherme […]
October 28th, 2012 at 08:41:34
[…] Arduino Due Brings More Power To the Table ::: Slashdot ::: Arduino ::: lffl ::: Geek […]
October 29th, 2012 at 04:13:11
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?
October 30th, 2012 at 15:07:12
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.
November 16th, 2012 at 07:38:34
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 http://arduino.cc/forum/index.php/topic,131143.msg998165.html#msg998165 ).
April 8th, 2015 at 20:48:44
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?
June 1st, 2015 at 01:57:39
@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.
March 4th, 2016 at 15:23:18
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?
Thanks.