USB Communication with Android/Arduino


I am working on this Android application that needs to communicate over USB. I have an Archos 101 Tablet (specifications here: It has a full USB host port. I can put a flash USB drive in the USB port and copy files to and from the flash drive onto internal storage.

I have this Arduino Fio board, with an XBee attached to it. I have an XBee Explorer Dongle with another XBee that I plan to hook into the Archos 101 tablet into the USB port.

As of right now, I can put the XBee Explorer Dongle into my computer and send/receive data to and from the Arduino Fio, no problems.

Is there a way for Android to talk over USB? I know there has to be drivers somewhere in the tablet allowing USB communication, but I cannot find a way to access them or use them.

I can see Android recognizing the XBee Explorer Dongle. I downloaded a terminal emulator, and I can type "dmesg" and see that it sees the dongle hooked up. But I cannot do anything with it.

I seem to need a FTDI driver for Android.

I would greatly appreciate any help in getting my tablet to communicate with the XBee Explorer Dongle.

2/9/2011 2:10:00 AM

If you have root and can hack your kernel, FTDI offers its D2XX driver for Android OS. Check its website, please.

If your Android device is 3.1+, you should be able to use Android USB host to talk with Arduino. However, I met some issues on this.

If you have ADK/UHS at hand, your Arduino can act as USB host and talk to Android USB device. Even in same hardware, if your Android OS is quite old like 1.5/1.6, you have to use ADB interface rather than ADK (Accessory Developer Kit) protocol.

If you have Bluetooth, you can write your own Bluetooth SPP in your app.

If you can handle WiFi, you can write app to communication with socket, or via latest WiFi direct mode in Android.

Communication is various. However, it depends your hardware.

3/13/2012 12:06:09 PM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow