The Arduino Due is a development board from Arduino based on the Atmel SAM3X8E ARM Cortex-M3 CPU and 32-bit ARM core microcontroller. The board is ideal for larger projects, featuring 54 digital I/O pins, 12 analog inputs, four UART ports, an 84 MHz clock, an USB OTG capable connection, and two digital-to-analog pins. As is customary with Arduino development boards, the Arduino Due is compatible with Arduino shields and other add-on boards to expand its functionality.
The Arduino Due doesn’t include connectivity on its own, so with use in Atmosphere you can either print its data into a debug console, or give it some form of connectivity by connecting it to an Arduino-compatible shield. Atmosphere supports the Adafruit WINC1500 Wi-Fi Shield, which features the Microchip WINC1500 Wi-Fi module that includes with a corresponding element by the same name in Atmosphere Studio’s Element Library. The Arduino Due is also compatible with the Digi XBee3 Zigbee Mesh Kit.
There are no imported sensors or specialized elements or tools native to Arduino Due projects.
Some devices may have limitations or design restrictions that cause unexpected behavior when used with Atmosphere. Specific information and details pertaining to the Arduino Due and its performance on Atmosphere is noted below.
- This platform does not have PWM support
Default Pin Mapping
Atmosphere configures each peripheral to a default pin for every supported device, based on ideal pairing of pins and their usage. The default pin configuration is set for convenience and enables each peripheral to work naturally without needing to be modified.
All pins can be used as general purpose input/output (GPIO) unless otherwise specified.
Arduino Due projects start with the following pin configuration:
||Arduino Connector D0|
||Arduino Connector D1|
||Arduino Connector D2|
||Arduino Connector D3|
||Arduino Connector D4|
||Arduino Connector D5|
||Arduino Connector D6|
||Arduino Connector D7|
||Arduino Connector D8|
||Arduino Connector D9|
||Arduino Connector D10|
||Arduino Connector D11|
||Arduino Connector D12|
||Arduino Connector D13|
||Arduino Connector Analog 0|
||Arduino Connector Analog 1|
||Arduino Connector Analog 2|
||Arduino Connector Analog 3|
||Arduino Connector Analog 4|
||Arduino Connector Analog 5|
The default pin for any peripheral can be changed within an element's properties, from an element that references that particular peripheral.
Internal Arduino Due
The Arduino Due is compiled using the Arduino SDK, so any functions and pin mappings can also be used within Atmosphere Studio.
Below is information regarding the Arduino Due’s exposed peripherals.
This I2C bus is exposed via the SDA and SCL pins on the Arduino header.
This SPI bus is exposed via the MOSI, MISO, and CLK pins on the Arduino SPI connector.
UART1 (USB Debug Console)
This UART is exposed via the USB connector.
This board does not have PWM support.
Programming the Arduino Due involves using the programmer interface in Atmosphere Studio to install embedded firmware.
Prior to programming an Arduino Due, ensure you have the following setup configuration:
- The Arduino Due is connected to the computer via USB to an available communication port.
- The Atmosphere IoT Agent is installed on the computer and running. This is a local application that runs in the system tray and acts as an intermediary between the computer’s connectivity protocol drivers and the browser running Atmosphere.
- An Internet connection is maintained.
- The project to be programmed has been compiled.
With setup complete, you can program the Arduino Due:
- From Atmosphere Studio’s Embedded tab, click the button from the tab’s toolbar. This displays the Program Firmware window.
- Under Device Port, select the communication port the device is connected to.
- Click Program to start programming. When complete, you’ll be notified that the device is programmed with the project’s embedded firmware.
Guides and Tutorials
Get started using the Arduino Due with Atmosphere by walking through the following guides:
|Arduino Due Guides|
|Getting Started with Arduino Due|
|Using the Atmosphere IoT Agent as a Zigbee Gateway|
Atmosphere includes a variety of Arduino Due demo projects for users of all levels. Check them out by clicking the demo’s name to open the project in Atmosphere.
|Adafruit WINC1500 Wi-Fi Shield Demo||A complete demo that showcases the Adafruit WINC1500 with the Arduino Due as host. An integer is sent to the cloud every second.|
|SGP30 Shield Demo||A basic demo that uses the Arduino Due alongside the SGP30 sensor shield that reads an air quality sensor and prints the values on the debug console.|
|TE Weather Shield Demo||Measure various weather values with sensors from the TE Connectivity MEAS weather shield and the Arduino Due. Read temperature, pressure, and humidity data, and print the values to the debug console.|
|Digi XBee3 Zigbee Gateway Demo||The XBee3 Zigbee element is used in this demo that demonstrates the Atmosphere IoT Agent gateway functionality by acting as an end node that sends temperature data to the coordinator of the Zigbee network, which is then sent to the cloud via the agent.|
|Heart Rate 5 Click Demo||The heart rate 5 click element is used in this demo by reading your heart rate and printing it to the debug console.|
|Grove Loudness Sensor Demo||The Grove loudness element is used in this demo by reading the loudness value and printing it to the debug console.|
|Grove Vibration Detector Demo||The Grove vibration element is used in this demo by detecting when vibration occurs, which prints a message to the debug console and toggles the Due’s onboard LED.|
|Arduino Pressure Click Demo||Demonstrates using the pressure 4 click element with an Arduino Due by reading pressure and temperature data and printing it to the debug console.|
The Atmosphere video library contains the following videos on the Arduino Due:
Getting started video coming soon!
The following additional resources and downloadable files are available for the Arduino Due: