Arduino DUE. Everything changes, but still it is an Arduino

By on November 1, 2012

After a long wait, Arduino DUE is available for 39 Euro plus taxes: an aggressive price for ambitious makers.

The key factor for Arduino success has been the ease of use and a very smooth learning curve. Thanks to its basic set of functionalities, a clear hardware design and the multiplatform Integrated Development Environment (IDE), Arduino has become the reference device for many projects: from simple LED based gadgets to sophisticated projects that follow the Internet of things approach. Currently Arduino boasts a huge community of users that across the globe, with forums, interest groups and a variety of pages. In more than 5 years, the community has developed so many projects that it is easy to find an inspiration or an almost finished solution for the majority of the common needs.
With its 8 bit avr core and the IDE framework for libraries, Arduino has been the solution of choice for many, but sometimes its limits in terms of code space and hardware resources were too tight to reach the desired result. These limits are well-known by Arduino Team and the long-awaited Arduino DUE should represent the quantum leap needed for more complex projects. Arduino Mega was a first step towards a more powerful hardware and computing platform, but a 32bit ARM Cortex-M3 SAM3X8E is a completely different story.

Arduino Style
It took some time to set up the whole project for DUE as it involved every single aspect of the Arduino architecture. In the design process, the Team had some clear objectives, as the look and feel of IDE, the hardware pin strip compatibility with existing Shields and the programming style. It wasn’t easy and the timing for the whole process was rescheduled more than once. At the end the result is a very interesting “evolved Arduino” that shares many of the successful traits of UNO, but it also rises the bar for designers.

The full description of Arduino DUE is available for Arduino Website at “http://arduino.cc/en/Main/ArduinoBoardDue” and the shortlist of technical specification is the following:

  • Microcontroller AT91SAM3X8E
  • Operating Voltage 3.3V
  • Input Voltage (recommended) 7-12V
  • Input Voltage (limits) 6-20V
  • Digital I/O Pins 54 (of which 12 provide PWM output)
  • Analog Input Pins 12
  • Analog Outputs Pins 2 (DAC)
  • Total DC Output Current on all I/O lines 130 mA
  • DC Current for 3.3V Pin 800 mA
  • DC Current for 5V Pin 800 mA
  • Flash Memory 512 KB all available for the user applications
  • SRAM 96 KB (two banks: 64KB and 32KB)
  • Clock Speed 84 MHz

IDE version is 1.5.0 and supports the new multi core architecture, where AVR and ARM now have separate folder hierarchies to host different compilers and different libraries. IDE 1.0.1 will become obsolete soon and all the efforts will continue with this new release. Apparently a lot of the IDE looks the same, but the code behind it is quite different as the SAM3X8E requires a new programming procedure that the software has to perform in order to maintain the same “one click” programming experience.
New instructions have been added to support the USB Host and DAC, while CAN bus has still to be implemented through libraries that are under development. Serial ports hardware based are now four and may be used concurrently.
All these changes and new implementations have been carefully evaluated in the design process to limit the amount of changes a sketch needs to be ported form UNO to DUE.

Hardware issues
The main concern about Arduino DUE is the 3,3V architecture, already foreseen and planned with the UNO design, but the IOREF Pin hasn’t got the expected attention from Shield designers and each shield might work straight away or cause some issues (even the microcontroller damage) if it sends signals to digital and analog input ports at 5 volts. The IOREF pin is indeed the reference provided by designers so that any “well behaving” shield may test this pin and find out if it has to work and interact at 5 or 3,3V.
Any shield has very good chances of finding proper voltage as power supply as DUE supports 5V on its 5V power I/O pin, but any attempt to feed that level to the Arduino DUE digital or analog input will be fatal: the shield works but kills the DUE.

USB all new
The two ports labelled as Programming USB and Native USB are very interesting in terms of computer and peripherals interfacing as they allow new roles of DUE, as USB Host and Client. Again more details on Arduino website (http://arduino.cc/en/Reference/USBHost and http://arduino.cc/en/Reference/MouseKeyboard).
Also programming has been redesigned, with a bootloader pre-programmed on the SAM3X8E before it leaves ATmel factory. It doesn’t occupy FLASH memory and there is no easy way, or need, to reprogram it. Program memory and RAM share a linear addressing space, while Flash can be fully erased pressing the new “Erase” button on the board. This allows a failsafe recovery of the programming functionalities when everything else doesn’t work.

No comments before a real test
The availability of the board has just been announced and everybody is waiting for the first shipments. We hadn’t the chance of running any test, therefore we keep the comments for a more detailed forthcoming story.

About Simone Majocchi