Hooking up an Arduino Due

Hooking up your Arduino

Before hooking up your Arduino, you need to know that without an EEPROM none of your Arduino settings will be saved. This is a limitation of the Arduino Due hardware. You can either buy an EEPROM or if you want more, a Shield offers a lot of features as well as an EEPROM.

When hooking up your Arduino to your Android device you have two choices, either Accessory mode, or Device mode. Normally I recommend Accessory mode as it's officially supported and seems to be more stable, but Device mode is required in a few circumstances.
In both cases you'll need a USB OTG cable, but how you hook it up decides if your using Accessory or Device mode.

With that cable it's easy to plug things into the wrong spot, as so many of the plugs are the same. Fear not, even if you make a mistake you won't break anything, it simply just won't work.

For Accessory mode

With the cable pictured above, the plug on the far left is the one to plug into the Arduino. It goes into the "Native USB" port. The middle one is strictly for power and should be hooked up to a USB wall charger. The one on the right is where you'll plug your tablet into using the regular USB cable it came with.

For Device mode

Using the same cable, first you attach the plug on the left into your tablet's USB port, the middle is still power, and the right is where you'll hook up your Arduino. But this time your Arduino needs to use the "Programming Port". Note this isn't fully working yet, as of today you need an FTDI chipset, which the Arduino Due doesn't have. I'm working on making the built in chip function properly.

Device mode is only needed if your table only has one USB port AND you want to hookup a hub so you can connect other USB devices such as a hard drive or DAC.

Function

Accessory Mode

Device Mode

Support

Officially support by Google, all Android Devices

Third party driver, most Android Devices

USB Hub*

No

Yes

Auto upgrade firmware

No

Maybe

Audio over USB

Possible

Not possible

Power Supply**

Arduino

Android Tablet

*If your device only has one USB port, allows for a hub to be hooked up for more devices
**If not using a "Y" cable like pictured above