Program Your Arduino With an Android Device!





in this Instructable I want to show you, how you can program your Arduino with your Android device. It is very simple and cheap. Also it allows us to program our Arduino where ever we want, this is usefull for permanently installed Arduino boards, like in light controllers...

So lets get started! :)

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Materials and Tools


A USB-A to USB-B cable ( )

A USB-Host cable (OTG cable) ( )

An Arduino( )

1 LED (for testing)

A Android device with Android 4.0.0+ (or with host aviability)


ArduinoDroid or

ArduinoCommander from the Google Play store

Step 2: The USB-Host Cable

Such a USB-Host cable is basicaly just a USB cable, but just with a few changed resistors in the mikro USB plug. The internal resistors let the Android device activate the USB-Host mode, in this mode you can also use USB-Sticks or other usb applications on the device. That is very useful, now you could plug a usb-printer in.

The problem is now, that every USB device which you plug in, will now run on the energy of your device, what realy can bring the akku down.

Step 3: Connections

This step is very simple and doesn´t require much text. Just plug the USB-A to USB-B cable into the female USB of the Host cable. Then plug the USB-B plug into the Arduino and the Mikro USB into the Android device.

Step 4: Arduino Power Up

Now it should look like the connections on the picture. Also your Arduino should now power up and load the last code you uploaded. On my Arduino was the Blink sketch. If it doesn´t power up, check connections.

Step 5: The Apps

Now your Arduino is ready to get coded, but your Android device isnt...

Lets change that!

Currently there are 2 apps which allow us to work with our Arduino via the Host mode.

To get them we have to go to the Play Store, then type into the search bar "Arduino". Now tap on "Apps", now there should be only apps. We want the apps "ArduinoDroid" and "ArduinoCommander". Install them and launch "ArduinoDroid", it has to update the IDE, that will need some time. "ArduinoCommander" should be ready promptly.

Note: We dont need both apps, i just want to show you both! :)

Step 6: ArduinoCommander by Anton Smirnov

Okay, the first app I want to show you is "ArduinoCommander". It is by Anton Smirnov and is for Andorid 2.2 or higher.

This app is for working with the Arduino on an Android device, you can change pins easy (directly set pins hight or low), upload sketches or read analog pins with a oscilloscope mode.

The app is easy to understand, even if the controlls are unusual. It finds the Arduino automatical and doesnt crash.

But sadly some of the functions didnt work when i tried to use them, hopefully that get fixed. Uploading a sketch worked very good!

So I would give this app 4.0 out of 5 stars :)

I want to show you short how you can connect to the Arduino:

Step 7: Step 1

First we have to start the app, now a blue window wih 4 options should appear. As we want to connect via USB we tap on "USB-Device" (on the picture in german :) ).

Other options are:




Step 8: Step 2

Now tap on "Autodetect", the Android device will now scann for Arduino(s) nad show them on the screen. We will pic our Arduino ( just tap on it ).

Step 9: Step 3

After we did that the app will now show us our Arduino as a drawn animation. Normally it is colored and you can tap the pins, to change their mode. This didnt work for me, sadly i couldnt fix it for me, maybe it works for you. when you tap in the down right corner you get to the menu, where you can upload sketches from your SD-card, what works very well.

Step 10: ArduinoDroid

Now the seccond app, which allows us to upload sketches to our Arduino. This app is called "ArduinoDroid" and is for Android 4.2.2 or higher. It is also by Anton Smirnov!

This app is an IDE, a compiler and an uploader for Arduino, it also uses the host mode to upload sketches, which you can write directly in the app.

After you wrote a code, you can compile it with the "Lightning-Button", that needs some time, but works good.

when its compiled you can press the upload button (the to the right).

The upload should take only secconds.

After that my Arduino started the new code --> It worked very good!

For testing I used the "Blink" sketch.

Why am i talking?! here is a short video of the app compiling and uploading a sketch:

Step 11: Finishing!

As you just saw, it is very easy to write, compile and upload a sketch to an Arduino with an Android device.

And here a big THANK YOU to Anton Smirnov who created the apps for Android!

Thank you for reading!

Feel free to comment and to visit my other websites!

Your Jan Henrik

Epilog Challenge VI

Participated in the
Epilog Challenge VI

Summer #mikehacks Contest

Participated in the
Summer #mikehacks Contest

Sensors Contest

Participated in the
Sensors Contest

Battery Powered Contest

Participated in the
Battery Powered Contest

2 People Made This Project!


  • Made with Math Contest

    Made with Math Contest
  • Multi-Discipline Contest

    Multi-Discipline Contest
  • Robotics Contest

    Robotics Contest

127 Discussions


4 years ago on Introduction

i have a few old android devices kicking around, i plan to connect one and see what happens. you have a touch screen, accelerometer, GPS, compass, many built in sensors on just your average smart phone. could be a powerful combination. thanks for posting and fueling the fires of imagination :-)

3 replies

Reply 4 years ago on Introduction

That Idea is awesome, I guess i have to try it too! I think compiling apps with Processing and combine that would also be great!


Reply 4 years ago on Introduction

there is a processing app in the google playstore. (why they ever changed it from the Android Market, i have no idea ;-) )

an update, i did connect my android device successfully to an UNO, a Micro, and a 3.3 volt ProMini thru an FTDI cable. they all worked flawlessly.

i can't stand going thru TSA security, so i leave as much stuff home as possible, especially my laptop. i bring a RPi and a few other gadgets to keep busy, and now, thanks in part to your instructable, i have one more toy to play with and still leave my laptop behind!


Reply 4 years ago on Introduction

Youre welcome :p

I didnt know, that there is a Processing app, sounds awesome.

I meant the Android Compiler in the newest version of Processing, I already compiled a few apps for my mobile phone, they all work great!


Question 4 months ago

Could it work on redmi 5


Question 5 months ago on Step 11

It worked for the first code that I uploaded. Now I get an uploading error and I dont know what is wrong. Can please help me?


4 years ago on Introduction

Ok I have a bit of a problem with my arduino because its a clone with CH340G chip.

I need a suitable driver for android, do you know about any? Thanks for replies

7 replies

Reply 1 year ago

Actually, Android is based on Linux and doesn't need drivers. It might be something with the board or cable.


Reply 4 years ago

Hi, have you solved your problem? I'm in the same situation with my dcduino, i cannot upload to board...

leena voramitico4

Reply 3 years ago

Are you using a nano so I am using a uno which I should buy ch340 or 16u2 plese answer


Question 1 year ago on Step 4


Iam using a micromax p702 tablet

My Arduino is not powering up and the tab is not sensing the uno.please somebody jelp

1 answer

Answer 1 year ago

First find out if your tablet support otg


Question 1 year ago

can we include libraries?