I want to connect an Android Galaxy S2 phone to my UNO Arduino using USB OTG functionality. I can upgrade/root the android to any version I want. My goal is to be able to communicate between the devices (send/receive data).

I've tried to search for whether that's possible but found conflicting answers whether Galaxy S2 and the Arduino UNO would be able to be connected this way.

Anyone knows whether this is possible? If yes - Do I need to do anything special - such as rooting the device, flashing it to a certain rom or something like that?

Thanks in advance!

  • This is off topic here, as it hinges on Android capabilities and development, not Arduino. The proper site is stackoverflow itself, where you will find it has essentially already been answered. Jan 20, 2015 at 4:56
  • @ChrisStratton I disagree about this being off-topic here. While it may be primarily an issue for the Android side of things, I think it's still a relevant question about the practicalities of using Arduino. Jan 24, 2015 at 14:04
  • No. Given how the SE system works, it's off topic here because as fundamentally an android question it is already answered many times on SO. Jan 24, 2015 at 14:14

3 Answers 3


If you use a bluetooth serial module - e.g. google hc 06 - you can do it wirelessly. I have a had good results with this - you can hook it up to pins 0 & 1, then use the stock arduino serial code. Probably not a good idea to hook up to both the bluetooth module and the USB (e.g. for programming) at the same time, they may interfere with each other.


Method 1. Basically you do not need root permission to communicate over USB. I am making app for Android for my project and using this FTDriver

Method 2. If you are not programming in JAVA then you can try third party apps like:

Uno doesn't have FT232 chip so I found it a bit harder. So instead I have FT232 chip and use SoftwareSerial.

Method 3. To communicate with Arduino you can use Bluetooth with HC-06 module. There are lots of third party apps to connect and send/receive data. Bluetooth Terminal


In my opinion, you have to use this shield to do this: http://arduino.cc/en/Main/ArduinoUSBHostShield

We can't plug in to use Flash Memorys into Android Phones micro USB via OTG Cable. I guess, tablets and maybe phablets can do that because these devices have USB Host Circuits inside. On the link, there is USB Host library for examples. This shield can attach onto your Arduino Uno.

Edit: I have already tried to do this by doing right like you. I couldn't find any solution then I get the shield, but I still can not do to make any control from both Arduino Uno and my Android phone. Anyway, I know this is about our phones not to have USB Host Component

  • That distinction is untrue. Many phones have USB host, while many tablets do not. Jan 21, 2015 at 1:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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