You probably won’t be satisfied with any of the official development boards above. If that’s the case, you should know about Arduino Due, another of the official flavors of this fantastic platform. With it you will be able to create many projects, as with the previous ones, but in this case there is a very important different feature, and it is not only the memory, the available GPIO or the size…
I am referring to the microcontroller that this board integrates, since the main chip is not ARM-based. A rarity within Arduino, since the rest are based on 8-bit AVR architecture, while this other board uses the 32-bit ISA ARM. However, this chip is still from Atmel, as usual.
The fact that it has an ARM microcontroller does not make it incompatible with the electronic components analyzed on this website, since they are compatible with all versions of Arduino.
What is Arduino Due?
This Arduino Due plate bears great similarities to other Arduino development plates, and its usefulness is exactly the same. That is, to be able to create a lot of electronic projects and program several sketches to control them. But, like other versions of Arduino, it has its notable differences…
Technical characteristics, outline and pinout
An Arduino Due is based on microcontroller chips or MCUs like the Atmel SAM3X8E. The first Arduino board to be based on ARM, specifically the 32-bit Cortex-M3 processing core. A performance bonus over the 8-bit MCU’s that have other similar boards.
This Atmel chip (currently acquired by the Microchip company) started its series in 2009 to compete with its own AVR. RISCs much more interesting and powerful than the previous ones.
In addition to that, roughly speaking, you also have more pins, since it includes 54 digital I/O pins, of which 12 are outputs. https://www.oshardware.net/pwm/” target=”_blank” rel=”noopener noreferrer”>PWM. It also includes 12 analog inputs, 4 UARTs (hardware serial ports), etc. Also, unlike other Arduino boards, the Arduino Due runs at 3.3v instead of the 5v of other boards.
When operating at 3.3v, Arduino Due will be compatible with all Arduino shields operating at that same voltage. But they must comply with the 1.0 Arduino pinout standard.
This Arduino Due board has everything you need to start creating your projects, just connect it to a PC through the cable microUSB and start downloading your sketches to start working. And by the way, this USB will not serve as external power as in other cases, but you can use an AC/DC adapter compatible with the plug that integrates this board (center pin + 2.1mm).
On the other hand, you must also know their technical characteristics, which are summarized in:
- Microcontroller: Atmel SAM3X8E ARM Cortex-M3 32-bit at 84 Mhz
- SRAM memory: 96 KB (distributed in 2 banks of 64KB + 1 bank of 32 KB)
- EEPROM: it does not have this type of memory, unlike the other boards. ARM has the ability to do IAP (In Application Programming) written in the flash. So it can be used to store non-volatile data and code.
- microUSB: it has 2.
- A programming one (the one closest to the power jack) for which you will have to choose Arduino Due (ProgrammingPort) in Arduino IDE. This is connected directly to the 16U2 chip.
- Another native one (the one furthest from the power jack) that you can use by selecting Arduino Due (NativeUSBPort) in Arduino IDE. In this case it is connected directly to the SAM3X microcontroller.
- Flash: 512 KB, all available for programming, since it does not have anything left in the bootloader as in other Arduino boards
- Operating voltage: 3.3v (although it has 5v pin for your projects, as well as GND or ground)
- Input voltage (recommended): 7-12v
- Input voltage (maximum limit): 6-16v
- Digital I/O pins: 54, of which 12 are PWM.
- Analog input pins: 12 channels.
- Analog output pins: 2 (DAC)
- Current intensity per I/O pin: 130mA
- Current intensity for pin 3.3v: 800mA
- Current intensity for pin 5v: 800mA
- Weight and dimensions: 101.52×53.3mm and 36 grams
- Price: Arduino Due, Platine
As I mentioned before, it has a high-speed USB OTG port, 4 UARTs, a JTAG connector, reset button, delete button, an SPI connector, and 2 TWI. In fact, what I mentioned before about the 1.0 standard has to do with some of these connectors:
- TWI with SDA and SCL pins
- IOREF instruction that allows a shield, connected with the appropriate configuration, to adapt its voltage to that of the plate.
- An unconnected pin reserved for future use.
By the way, I would not like to finish this section without commenting more about these other serial connectors and so on. At least the pinout where they are located:
- Serial 0: on pin 0 (RX) and pin 1 (TX)
- Serial 1: pin 19 (RX) and pin 18 (TX)
- Serial 2: pin 17 (RX) and pin 16 (TX)
- Serial 3: pin 15 (RX) and pin 14 (TX)
- PWM: they go from pins 2 to 13 to provide 8-bit PWM.
- Digital I/O: from pin 0 to 53
- Analog outputs: from pin A0 to A11
- SPI: SPI head
- CAN: CANRX and CANTX for CAN communication
- Built-in LED included and connected to pin 13
- TWI 1: pin 20 (SDA) and pin 21 (SCL)
- TWI 2: marked as SDA1 SCL1
- DAC1 and DAC2 with resolution in its 12-bit output (4096 levels) with analogWrite() with voltages from 0.55v to 2.75v.
- AREF: an analog input as voltage reference. Used with the analogReference() function
- Reset: if you set this line to LOW or low voltage, then the microcontroller resets.
Like other official plates, Arduino Due has a lot of data available for the community, such as schematics, data, documentation such as datasheets, etc. With this data you will be able to know everything about this board to get the most out of it. For example, you have at your disposal these documents:
- Complete pinout
- Atmel SAM3X8E microcontroller datasheet
- EAGLE files with schematics for the makers.
- Arduino UNO board electronic schematics.
- Fritzing files
Arduino IDE and programming for Arduino Due
To program Arduino Due, the same procedure is followed as for many other Arduino boards. You do not need a different IDE software as it is based on ARM. So you don’t have to worry about that, it will be totally transparent to the programmer. You can download or use Arduino IDE like for all other boards and you can download it from this link for the MacOS, Windows and Linux platforms.
The language to write the source code of the sketch will also be exactly the same, except that you will have to adapt to the pinout and peculiar characteristics of Arduino Due. If you are a beginner, you can use our free PDF course for Arduino IDE. In it you will learn how to create the first simple sketches and get a little better knowledge of Arduino programming. Although this course is based on Arduino ONE, it works for all other versions of Arduino…
The one thing you should keep in mind when installing Arduino IDE is that it comes ready to start with Arduino UNO by default. Therefore, you must choose the right board to transfer the code from the PC to your board. To do this, you can follow these simple steps:
Now you can go on as usual.