Stufin
Home Quick Cart Profile

Arduino Due Original

Buy Now

The board can be used to

Read sensor data and control actuators

Communicate with other devices via Wi-Fi, Ethernet, or serial interfaces

Control motors, LEDs, and other peripherals

Run advanced algorithms and data analytics

Interface with external devices, such as LCD displays, keyboards, and cameras

Key Features

Microcontroller

Atmel SAM3X8E ARM Cortex-M3 CPU

Operating Frequency

84 MHz

Flash Memory

512 KB

SRAM

96 KB

EEPROM

16 KB

Digital I/O Pins54 (12 of which are PWM outputs)

Analog Input Pins

12 (2 of which can be used as digital pins)

UARTs

4

SPIs

2

I2Cs2

CAN

1

USB OTG

1

Ethernet

1

Operating voltage

3.3 V

Power consumption

200-400 mA

Additional Features

DAC (Digital-to-Analog Converter)2 channels, 12-bit resolution
DMA (Direct Memory Access)Supported
RTC (Real-Time Clock)Integrated
TWI (Two-Wire Interface)Supported

Advantages

High-performance Cortex-M3 CPU

Large memory and storage capacity

Multiple communication interfaces (Ethernet, USB, UART, SPI, I2C, CAN)

Advanced peripherals (DAC, DMA, RTC)

Compatible with a wide range of shields and modules

Open-source and community-supported

Limitations

Higher power consumption compared to other Arduino boards

Requires an external power supply (cannot be powered via USB)

Limited compatibility with some Arduino shields and libraries (due to its ARM architecture)

Target Applications

IoT projects requiring high-performance processing and advanced peripherals

Robotics and automation projects

Industrial control and monitoring systems

Advanced hobbyist and prototyping projects

Conclusion

The Arduino Due Original is a powerful and feature-rich microcontroller board that offers a high degree of flexibility and customization. Its advanced peripherals, high-performance CPU, and multiple communication interfaces make it an ideal choice for complex IoT projects and applications.

Pin Configuration

  • Arduino Due Original Pinout Guide
  • The Arduino Due Original is a powerful microcontroller board based on the Atmel SAM3X8E ARM Cortex-M3 CPU. It features 54 digital input/output pins, 12 analog input pins, 4 UARTs (hw serial), 2 DAC, 2 TWI, 1 SPI, 1 CAN, and a lot more. Here's a detailed explanation of each pin and how to connect them:
  • Digital Pins (54)
  • 1. Digital Pin 0 (TX0): UART 0 transmit pin. Used for serial communication.
  • Connection: Connect to RX pin of a serial device (e.g., serial monitor, GPS module).
  • 2. Digital Pin 1 (RX0): UART 0 receive pin. Used for serial communication.
  • Connection: Connect to TX pin of a serial device (e.g., serial monitor, GPS module).
  • 3. Digital Pin 2 (TX1): UART 1 transmit pin. Used for serial communication.
  • Connection: Connect to RX pin of a serial device (e.g., serial monitor, GPS module).
  • 4. Digital Pin 3 (RX1): UART 1 receive pin. Used for serial communication.
  • Connection: Connect to TX pin of a serial device (e.g., serial monitor, GPS module).
  • 5. Digital Pin 4: General-purpose digital input/output pin.
  • Connection: Connect to a button, sensor, or LED to read digital input or control output.
  • 6. Digital Pin 5: General-purpose digital input/output pin.
  • Connection: Connect to a button, sensor, or LED to read digital input or control output.
  • 7. Digital Pin 6: General-purpose digital input/output pin.
  • Connection: Connect to a button, sensor, or LED to read digital input or control output.
  • 8. Digital Pin 7: General-purpose digital input/output pin.
  • Connection: Connect to a button, sensor, or LED to read digital input or control output.
  • 9. Digital Pin 8: General-purpose digital input/output pin.
  • Connection: Connect to a button, sensor, or LED to read digital input or control output.
  • 10. Digital Pin 9: General-purpose digital input/output pin.
  • Connection: Connect to a button, sensor, or LED to read digital input or control output.
  • 11. Digital Pin 10: General-purpose digital input/output pin.
  • Connection: Connect to a button, sensor, or LED to read digital input or control output.
  • 12. Digital Pin 11: General-purpose digital input/output pin.
  • Connection: Connect to a button, sensor, or LED to read digital input or control output.
  • 13. Digital Pin 12: General-purpose digital input/output pin.
  • Connection: Connect to a button, sensor, or LED to read digital input or control output.
  • 14. Digital Pin 13: General-purpose digital input/output pin. Also has an internal LED connected.
  • Connection: Connect to a button, sensor, or LED to read digital input or control output. Can also be used as an onboard LED indicator.
  • ...
  • All the way up to Digital Pin 53:
  • Connection: Each digital pin can be connected to a button, sensor, or LED to read digital input or control output.
  • Analog Input Pins (12)
  • 1. Analog Input Pin A0: Analog input pin.
  • Connection: Connect to an analog sensor (e.g., potentiometer, photocell) to read analog values.
  • 2. Analog Input Pin A1: Analog input pin.
  • Connection: Connect to an analog sensor (e.g., potentiometer, photocell) to read analog values.
  • 3. Analog Input Pin A2: Analog input pin.
  • Connection: Connect to an analog sensor (e.g., potentiometer, photocell) to read analog values.
  • ...
  • All the way up to Analog Input Pin A11:
  • Connection: Each analog input pin can be connected to an analog sensor to read analog values.
  • Special Pins
  • 1. AREF: Analog reference voltage pin.
  • Connection: Connect to a voltage reference source (e.g., voltage regulator) to set the analog reference voltage.
  • 2. Reset: Reset pin.
  • Connection: Connect to a reset button or a voltage source (e.g., 3.3V) to reset the board.
  • Power Pins
  • 1. VIN: Input voltage pin (7-12V).
  • Connection: Connect to a power source (e.g., battery, wall adapter) to power the board.
  • 2. 3.3V: 3.3V regulated output pin.
  • Connection: Connect to devices that require a 3.3V power supply.
  • 3. 5V: 5V regulated output pin.
  • Connection: Connect to devices that require a 5V power supply.
  • 4. GND: Ground pin.
  • Connection: Connect to the ground pin of devices or power sources to provide a common ground.
  • When connecting pins, make sure to use the correct voltage levels and current ratings to avoid damaging the board or connected devices. Always refer to the Arduino Due Original documentation and datasheets for specific pin functions and limitations.

Code Examples

Arduino Due Original Component Documentation
Overview
The Arduino Due Original is a microcontroller board based on the Atmel SAM3X8E ARM Cortex-M3 CPU. It is an advanced board that offers a significant increase in performance and functionality compared to other Arduino boards.
Technical Specifications
Microcontroller: Atmel SAM3X8E ARM Cortex-M3 CPU
 Operating Voltage: 3.3V
 Input Voltage: 7-12V
 Digital I/O Pins: 54
 Analog Input Pins: 12
 Analog Output Pins: 2
 Flash Memory: 512 KB
 SRAM: 96 KB
 Clock Speed: 84 MHz
Code Examples
### Example 1: Blinking an LED using Digital Pins
This example demonstrates how to use the Arduino Due Original's digital pins to control an LED.
```c++
const int ledPin = 13;  // Pin 13 for the LED
void setup() {
  pinMode(ledPin, OUTPUT);  // Set the pin as an output
}
void loop() {
  digitalWrite(ledPin, HIGH);  // Turn the LED on
  delay(1000);               // Wait for 1 second
  digitalWrite(ledPin, LOW);  // Turn the LED off
  delay(1000);               // Wait for 1 second
}
```
In this example, we define a constant `ledPin` to represent the digital pin 13, which is connected to an LED. In the `setup()` function, we set the pin as an output using `pinMode()`. In the `loop()` function, we use `digitalWrite()` to turn the LED on and off by setting the pin high and low, respectively.
### Example 2: Reading Analog Input from a Sensor
This example demonstrates how to use the Arduino Due Original's analog input pins to read data from a sensor.
```c++
const int sensorPin = A0;  // Pin A0 for the sensor
int sensorValue = 0;       // Variable to store the sensor reading
void setup() {
  Serial.begin(9600);  // Initialize serial communication at 9600 bps
}
void loop() {
  sensorValue = analogRead(sensorPin);  // Read the sensor value
  Serial.print("Sensor Value: ");
  Serial.println(sensorValue);  // Print the sensor value to the serial monitor
  delay(100);                    // Wait for 100 ms before taking the next reading
}
```
In this example, we define a constant `sensorPin` to represent the analog input pin A0, which is connected to a sensor. We also define a variable `sensorValue` to store the sensor reading. In the `setup()` function, we initialize serial communication at 9600 bps using `Serial.begin()`. In the `loop()` function, we use `analogRead()` to read the sensor value, and then print the value to the serial monitor using `Serial.print()` and `Serial.println()`.
### Example 3: Using the Due's Built-in Real-Time Clock (RTC)
This example demonstrates how to use the Arduino Due Original's built-in RTC to keep track of time.
```c++
#include <RTClib.h>  // Include the RTC library
RTC_DS1307 rtc;  // Create an instance of the RTC class
void setup() {
  rtc.begin();  // Initialize the RTC
}
void loop() {
  DateTime now = rtc.now();  // Get the current time
Serial.print(now.year(), DEC);
  Serial.print('/');
  Serial.print(now.month(), DEC);
  Serial.print('/');
  Serial.print(now.day(), DEC);
  Serial.print(' ');
  Serial.print(now.hour(), DEC);
  Serial.print(':');
  Serial.print(now.minute(), DEC);
  Serial.print(':');
  Serial.print(now.second(), DEC);
  Serial.println();
delay(1000);  // Wait for 1 second before displaying the time again
}
```
In this example, we include the `RTClib` library and create an instance of the `RTC_DS1307` class to interact with the RTC. In the `setup()` function, we initialize the RTC using `rtc.begin()`. In the `loop()` function, we use `rtc.now()` to get the current time, and then print it to the serial monitor in the format `YYYY/MM/DD HH:MM:SS`.