Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

According to the schematics, the Arduino Due has two USB inputs:

  1. Native
  2. Programming

Why is this? And when would I use the different ports?

share|improve this question
Is there a mapping of the native port to serial pins? The programming port maps to 0 and 1 correct? – user3233 Jul 20 '14 at 1:15
up vote 6 down vote accepted

Either port can be used for programming, but the native USB port lets you do other things:

It also enables the Due to emulate a USB mouse or keyboard to an attached computer. To use these features, see the Mouse and Keyboard library reference pages.

The Native USB port can also act as a USB host for connected peripherals such as mice, keyboards, and smartphones. To use these features, see the USBHost reference pages.

So you can use the Due to interface with USB devices or connect it to your computer and have it act like a USB device.

share|improve this answer
So, it would be possible to attach a mouse to USB native, and detect and Register mouse movements in the host laptop via the other USB input? – poseid May 19 '14 at 11:40
I think only the native one can do both of those things. The other one is for programming only. – sachleen May 19 '14 at 18:13

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.