Instructables
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)

1-40 of 53Next »
3DGeneral2 months ago

I have an RN 42 Bluetooth module....will it work the same?

donmatito (author)  3DGeneral2 months ago

I suppose because the general principle is the same, but you'll have to read the related documentation about the wiring I advise

ankushwork29 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.

donmatito (author)  ankushwork23 months ago

Hello, sorry I didn't notice your question. the connection between the smartphone and the arduino is made with Bluetooth. In the software, it is equivalent to a serial connection - like if there was a direct cable connecting the two devices.

Hope it helps !

donmatito (author)  hrushikeshloya3 months ago

I suppose so - but I have not looked into it

brians60673 months ago

what is the name of this app ?

donmatito (author)  brians60673 months ago

the app is not available on the appstore, if that is your question, because the goal here was to develop it and compile myslef

ehsanabdullah5 months ago

very nice project ,,,i also made it

donmatito (author)  ehsanabdullah3 months ago

excellent !

vjain86 months ago
Can i use arduino motor shield rev3 if so what are the codes
donmatito (author)  vjain83 months ago

I suppose so - but I have not looked into it

shyeah19838 months 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.

donmatito (author)  shyeah19833 months ago

I think you have to "import" the project file in the Eclipse software. Let me know if you have found how to do it.

Raphango8 months ago

Great!

Favorited!

donmatito (author)  Raphango3 months ago

thanks

braserito66 made it!8 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
donmatito (author)  braserito663 months ago

excellent - I know a couple of similar apps but I wanted to make my own as an exercice. Of course off-the-shelf looks shinier :-)

jake_lee9 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.

donmatito (author)  jake_lee3 months ago

Thank you very much for your nice words, that was exactly my goal

rpadashetty6 months 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
assadollahi8 months ago

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

donmatito (author)  assadollahi8 months ago
indeed, HC05 is running on 5V
braserito668 months ago
donmatito thanks a lot. I did
masynmachien9 months ago

Interesting project, great bile!

Ik makes a great starting point for DIY RC projects.

impartit9 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 impartit9 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)  impartit9 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 :-)

impartit9 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?

Ejasper49419 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)  Ejasper49419 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.

Strickster9 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)  Strickster9 months ago

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

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

rbr4519 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)  rbr4519 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 !

1-40 of 53Next »