Tutorial - Arduino Due - Button Mouse Control

This tutorial will show you how to use the ButtonMouseControl example with the Arduino Due. The code reads five buttons and use the Mouse library to send commands to the PC.

Materials List

1 x Arduino Due

1 x Breadboard

5 x Push Buttons

5 x 1KΩ Resistor

Some jumpers

The Arduino Due

The Arduino Due is the last member of Arduino family. It's the first with 32-bit microcontroller, the Atmel ATSAM3X8E and has a CPU based on ARM-Cortex-3. The microcontroller's clock runs at 84MHz has USB interface (like a Leonardo) and others connections. Because of the new features implemented on Due, it makes possible some projects with highly computing needs.


The specifications of Arduino Due  (From Arduino WebSite)

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 (12 bits)
Analog Outputs Pins 2 (DAC) (12 bits)
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


The operation voltage of I/O pins are 3.3V (not 5V). Don't use 5 Volts on I/O pins, you can damage the Arduino Due. The shields based on Rev.3  (like a Ethernet Shield) are compatible with Due. Other shields, based on 5 Volts need you  to add a logic level converter between them. 

DAC Output

Finally! A DAC is available. The Due has two 12 bits digital-analogic converters!!! Give goodbye to MP3 shields. The Audio Library (only compatible with Due) is on beta version but it can read .wav files.


  • 4 Hardware UARTs 
  • 2 I2C
  • 1 CAN Interface (Automotive communication protocol)
  • 1 SPI
  • 1 Interface JTAG (10 pin)
  • 1 USB Host  (like as Leonardo)
  • 1 Programming Port

PS:The SAM3X natively supports ethernet protocol but its need a PHY interface to work. See more information on this link

Pinout Diagram

On image below you see the Pinout Diagram (by Gray Nomad) :


1° Download Arduino version 1.5.2 (beta version). Windows users, don’t forget to install USB drivers for Programming Port and for Native Port.

2° Mount circuit of figure below

3° Connect the Board to Programming Port and select Arduino Due (Programming Port) from the Tools>Board menu in the Arduino IDE.

4° Select sketch from the File>Examples>09.USB> Mouse>ButtonMouseControl menu and upload it.

5° Change to Native Port.

6° Click on buttons and see your mouse moving.

That's All!!! Please comment below!!! Thanks!






Views: 11330


You need to be a member of GarageLab (arduino, electronics, robotics, hacking) to add comments!

Join GarageLab (arduino, electronics, robotics, hacking)

Latest Activity

Profile IconWilliam Johnson and Todd Enger joined GarageLab (arduino, electronics, robotics, hacking)
Carlos Kwiek posted a blog post


Turning on and off a lamp on the internet and smartphone using ESP8266 with MQTT languageThank you…See More
Avtar Singh is now a member of GarageLab (arduino, electronics, robotics, hacking)
Profile IconPete Z, Anatolio Filho and ashok joined GarageLab (arduino, electronics, robotics, hacking)
Oct 18
Profile IconEmrah Ponjevic and Sergio Salazar joined GarageLab (arduino, electronics, robotics, hacking)
Oct 17
autoelectric is now a member of GarageLab (arduino, electronics, robotics, hacking)
Oct 14
Gary Plaza is now a member of GarageLab (arduino, electronics, robotics, hacking)
Oct 13
James Anderson is now a member of GarageLab (arduino, electronics, robotics, hacking)
Oct 10
Adan Salinas commented on Marcelo Rodrigues's blog post SwagBot
"Great use of technology right there."
Oct 5
Ojasvi Gupta left a comment for Olivy Gis
"Something is fishy here....what do you wish to talk about...if you could be a tad more specific?"
Oct 5
Profile IconDave Petersen, Olivy Gis, gian crespo and 1 more joined GarageLab (arduino, electronics, robotics, hacking)
Oct 5
Olivy Gis updated their profile
Oct 5
Alaa Alrashdan commented on GarageLab's blog post Tutorial: How to use the Monster Moto Shield
"Hi I have a firgelli actuator that i run using arduino+monster moto shield. I can run it with a…"
Oct 4
Richard Reubenstone posted a blog post

Some great maker projects you can join

If you are interested in joining some teams consisting of makers working together from all over the…See More
Oct 4
Dmitry Slepov posted a blog post

Tibbo Project System-based Office Aircon Controller Application

The app allows you to manage traditional air conditioners that are controlled through infrared…See More
Oct 4
Marcelo Rodrigues left a comment for Jose Gustavo Abreu Murta
"Spammer member suspended. Thanks!"
Oct 2
Profile IconCharles Howey, Neil Besner and Jim Ory joined GarageLab (arduino, electronics, robotics, hacking)
Oct 2
Roosevelt Sebial left a comment for Roosevelt Sebial
"I have left a message to your given e-mail address Mr. Frank. Thanks!"
Sep 29
Eric Delgado updated their profile
Sep 29
Jose Gustavo Abreu Murta left a comment for Jose Gustavo Abreu Murta
"SPAM !!!!"
Sep 29

© 2016   Created by Marcelo Rodrigues.   Powered by

Badges  |  Report an Issue  |  Terms of Service