Instructables

Arduino bot Android remote control

Featured
Picture of Arduino bot Android remote control
Hello there,

In this instructable I would like to explore the connection between Arduino and Android. Both are open, easy-to-program environment (well, Android not so easy, but quite), and the interaction between them allows interesting human-to-device interaction.

The goal here is to drive a small Arduino bot of the simplest kind with an Android app, through Bluetooth connection. The robot itself will have nothing extraordinary and is inspired by the many tutorials out there on the Interwebs. But I have not found tutorials on how to create an Android remote control - so here it is.

Level and assumption :
- the reader is assumed to know its way around Arduino and electronics, including soldering, although there will be very little of it. Arduino starter kit level is sufficient.
- more importantly, the reader is assumed to have a working knowledge of Android. If not - I can recommend to work through the official Android tutorials, among others available online.
 
 
Remove these adsRemove these ads by Signing Up

Step 1: Bill of Material

Picture of Bill of Material
Here is a bill of material, with price list from Robotshop Europe. I like Robotshop for their customer service but these products are standard and can be found in other places

- Arduino UNO or equivalent (23.92€)
- Arduino-compatible 1A Motor Shield (12.95€)
- 2x GM9 geared motors (2x 4.29€)
- 2x GMPV wheels (2x 2.79€)
- (optional) 2x mounting brackets (2x 1.38€)
- 1 ball caster(1.78€)
- a 6 AA battery holder with 2.1mm jack (4.82€)

Not on RobotShop
- Bluetooth module (5€) such as this one on Ebay
- 2mm MDF plate
- some wires
- some screws and nuts
- a breadboard if you don't want to solder
- 6 Alkaline AA batteries or 6 NiMh rechargeable batteries (they provide 7.5V instead of 9V, but this is still sufficient for the GM9 motors)

rpadashetty21 days ago
Can anyone send that android app to this mail:
P.rakesh34@gmail.com

I'm poor in android app development skills .. I need to submit this project tomorrow .. plz
vjain822 days ago
Can i use arduino motor shield rev3 if so what are the codes
shyeah19831 month ago

I extracted the androidremote file to my workspace but it doesn't show up as a project on Eclipse.... Is there a step that I'm missing? When i create a new android app using Eclipse, the file shows up in my workspace and Eclipse regognizes it as a project.

assadollahi2 months ago

my hc-06 is running on 3.3V, i needed a voltage divider, do you have a 5V version?

donmatito (author)  assadollahi2 months ago
indeed, HC05 is running on 5V
Raphango2 months ago

Great!

Favorited!

braserito66 made it!2 months ago

I have follow your idea, but I have used a little different hardware, and as you can see there is a very interesting app in google play.

Thanks again

IMG_20140130_204346.jpgunnamed.pngunnamed1.png
braserito662 months ago
donmatito thanks a lot. I did
jake_lee3 months ago

This is great tutorial for anyone who wants to explore more about BT connection between arduino and android, well done, and thanks for sharing, very useful.

masynmachien3 months ago

Interesting project, great bile!

Ik makes a great starting point for DIY RC projects.

impartit3 months ago

Could it be simply that my Bluetooth Module is called HC-07? If so how do I edit/change your code. I have tried to change the name of the HC-07 but all attempts to use the AT commands have failed.

impartit impartit3 months ago

Absolutely!! Changed the reference from HC-05 to HC-07 in "Android Remote/src/com.example.android.remote/BtInterface.java/BtInterface - IT WORKS!!!! Great work and thanks. As I have only 1 motor I need to modify the Android Sketch to accomodate the Servo Motor steering on pin 9 of the Arduino and then all should be fine.

donmatito (author)  impartit3 months ago

Hello Impartit, glad you found it ! indeed, that is something I hardcoded because I didn't want to bother with a field text to name the module. Also, most people would have only one module and not need to change it later.

So, I hope your project is going on well and don't hesitate to improve on the basis of the code I shared ! Who knows perhaps you can do an instructable next, with your project :-)

ankushwork23 months ago

I am a newbie to this electronics stuff, i heard a bit about beaglebone black. I want to ask how the connection is made between your smartphone and arduino, and how the arduino board is able to decode what key you are tapping on your smartphone.?

Please do reply.

impartit3 months ago

I have after some 7 hours installed eclipse and download the appropriate Samsung drivers on Windows XP with all the nuances of this Windows OS.The sketch has also been uploaded successfully on my ATMega 2560 with the Arduino IDE. I now have the app running on both my "Samsung GT-S5830i Mobile" and my "Samsung Galaxy Tab 3 Tablet". Regretably whenever I click on the "Connection" button the screen briefly displays "Trying to Connect" then goes black and displays "Unfortunately. Android Remote has stopped". This happens on either Android device. So near yet so far and still no banana. Can you help?

Ejasper49413 months ago
Your app is just what I need but my Android skills /experience aren't fully developed. I'm using Eclipse and extracted your files into the workspace. You lose me when you say in Step 7 to "Connect your smartphone to your computer and LAUNCH THE APP....". Can you, or anyone else, elaborate????

Thanks
donmatito (author)  Ejasper49413 months ago

Hi Ejasper4941 - I believe you're no more than an evening of tutorial away from running the app.

Try to find an "hello world" tutorial for Android application on Google. One of the first thing it'll show you is how to run a test application on your computer. When that's working, just plug your android smartphone to your computer using the USB cable. Hitting "run" again, will install the app on your smartphone instead of your computer.

Strickster3 months ago
Good idea, and nice instructable, thanks for sharing. Just one question, though: in the arduino code, in the switch, the cases 'F' and 'S' both call "moveForward(255, true);". Is this intended? Wouldn't it cause the bot to move forward when you press stop?
donmatito (author)  Strickster3 months ago

sad copy-paste mistake (and "not testing the last version you upload" hubris).

Thanks, I corrected it to moveForward(0, true);

rbr4513 months ago
Found the zip files. They didn't show up on the android Instructables app, but were there when I switched to a browser.
donmatito (author)  rbr4513 months ago

Yes, sorry. I know one can embed code but I think a full app is too long for displaying. Good luck in your project !

ssrdi023 months ago
If you want to build simple apps on Android, then I second that. App Inventor from http://appinventor.mit.edu/explore/ at MIT will do it just fine!
rbr4513 months ago
Great job. I can't wait to get started, but I must be missing something. I can't find either the sketch code or the android app. Where are they "attached"?
sharmooth3 months ago
nice one, but is it possible to so it without the shield?
donmatito (author)  sharmooth3 months ago
yes, most likely, but then you will need an H-bridge to drive the motors. There are several Instructables for it if you browse the website
jmar43 months ago
Hi donation, well done! I developed something similar (android/hc-05/arbuino) but for the android app part I used AppInventor from the MIT website. It allows to develop an android app without writing a single line of code. It is a web-based visual IDE . I was able to build an android application that connect to my Bluetooth module and send some commands to it when buttons are pressed in less than 2 hours. This is an amazing tool for simple projects. Have a try yourself: http://appinventor.mit.edu
donmatito (author)  jmar43 months ago
Hello jmar4

Indeed, I just checked out appInventor, it looks great and really easy to use. Almost able to replicate my app in 5min.

However for me this project was more a learning project, how to have a clean bluetooth interface that would not crash everytime you try to log out etc...
roineust3 months ago
Hello donmatito!
Well done!

Do you know (or anyone reading this here), about any beginners guide, for programming these Arduino Android remote controls?

I wonder how complicated is programming and compiling an Android application itself...(on a WinXP).

My problem is, that the 2 or 3 Android bluetooth remote control apps i have on my smartphone, will soon not have enough auxiliary buttons (in addition to the 4-5 main up ,down etc...buttons), for my robot, which although i tell him to chill out, is getting more and more demanding, in what it wants to do, every other day....!!

Thanks!
donmatito (author)  roineust3 months ago
Hello Roineust,

Like Axeman has written it is not a complicated task. you can follow several android tutorial on the web (google "eclipse android tutorial" for example).

Or, as jmar4 wrote also, the AppInventor from MIT looks very easy to use !
Axeman roineust3 months ago
An Android apk is just Java code compiled into Dalvik's bytecode... it's an easy task, and everything to guide you into installing developer tools and building your first apps is on the developer.android.com official website.
draxos3 months ago
Dramatically Useful...      Infinite Number of Apps and Ideas just crossed my mind..

donmatito   Keep up the Good Work...     

Myself..  Still Impressed..   !!

daryllukas3 months ago
Thank you! Can't wait to make one
davyrob3 months ago
Nicely done... thanks for sharing your work.
4DIY CHANNEL3 months ago
awesome! very useful.
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!