1
\$\begingroup\$

I have an Arduino Uno and need to connect to an Android device:

  1. Do I need a USB host shield?

  2. Would I be better off in buying a board that has USB host functionality built-in?

  3. Is the Android Open Accessory framework really the only software solution for communicating via USB?

\$\endgroup\$

closed as off-topic by Matt Young, Daniel Grillo, Fizz, Dave Tweed Oct 20 '15 at 13:47

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions on the use of electronic devices are off-topic as this site is intended specifically for questions on electronics design." – Matt Young, Daniel Grillo, Fizz, Dave Tweed
If this question can be reworded to fit the rules in the help center, please edit the question.

3
\$\begingroup\$
  1. You would need some hardware added to the Uno which supports USB host mode, yes. This could be in the form of a USB host shield or some other USB host module (typically with its own on-board microcontroller)
  2. Yes, definitely. Typically a board which incorporates USB host mode, would also be supported by its tried and tested libraries for implementing the host mode.
  3. Not the only option, but certainly the most updated and perhaps the most convenient. The classic ADB mechanism, predating the introduction of the Android Accessory Development Kit, is still supported. Depending on what the Arduino side of the system is expected to do, this might suffice at least until the ADB support is removed.
\$\endgroup\$
  • \$\begingroup\$ Recent devices do require authentication of ADB hosts. It's just (open) software, but additional complexity to add to the embedded implementation. \$\endgroup\$ – Chris Stratton Dec 24 '13 at 14:55
3
\$\begingroup\$

If your Android device supports USB OTG(On the go) you might be able to use the Arduino as a standard USB serial device connected to the android.

My phone can do this I just needed a cheap cable to convert the micro USB to a USB A port.

I used the ArduinoCommander App to test out the connection.

\$\endgroup\$

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