ROVER Bot - the Arduino Bluetooth Controlled Tank




About: I am 47 years old and I live in Brazil. I am a Telecommunication / Electronics Engineer. twenty years acting in the industry of "Telecommunication and Networking". I like everything that engages Te...

Arduino Bluetooth ROVER Robot

The Arduino ROVERBot. This post aims to present you the construction steps of a ROVER using the Arduino and a bluetooth module. To control the ROVER it was used a Android phone as RC (radio control) interface. The Android application used is the "Arduino Bluetooth RC Controller" which is available on the "Play Store". This application provides a way of control by directional buttons or via digital positioning (accelerometer) of the cell phone itself that is being used as a control device.

This is the link to the application control:

This project is based on the "DIY Phone Controlled FPV Rover (Fast & Agile)" by ASCAS.
I would Like to thank ASCAS by this great project. So Thank you!

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: What Will You Need to Build This Project?


1 x Tamiya Twin Motor Gear Box - KIT;

1 x Tamiya Tank Chassis - KIT;

1 x Arduino UNO R3 or MEGA;

1 x Bluetooth Module HC-05 or compatible;

1 x Adafruit DC-Motor-Shield;

1 x Battery 11.7 V / 3500 mAh;

For more information about the controller Adafruit motor shield, visit the website below, where you can also get the library used in the project.


Watch the video below to know exactly how to assemble the Tamiya Gear BOX KIT.

Step 2: Electronics Interconnections


After the "Tamiya Geat Box" and "Tank Chassis" have being mounted, you can begin to start the electronics interconnection.
The diagram shows how the connections should be made. In a short description we have:

1 - Plug the Adafruit Motor Shield on Arduino;

2 - Connect the Bluetooth module: -

RX bluetooth module pin connected to the Arduino TX pin (pin 0);

TX Bluetooth module pin connected to the Arduino RX pin (pin 1);

Bluetooth GND pin connected to Arduino GND pin;

Bluetooth VCC pin connected to Arduino +5V pin;

3 - Connect the right DC-Motor to the Motor Shield (motor-1);

4 - Connect the left DC-Motor to the Motor Shield (motor-3);

Here it is worth a note:

The rotation direction should be tested. If reversed, you should revert the DC-motor wires in order to revert the rotation direction.

5 - Connect the Li-ion battery (ground and positive wire) to GND and M+ pins of Motor Shield;

Another Note: The Motor shield junper (PWR) must be closed (in this way the Arduino will be powered by the battery and also the DC-Motors.

Step 3: The Code and Library


Get all files on GitHub:

The Arduino should be programmed without the bluetooth module pins (TX / RX) connected to Arduino pins 0 and 1. This would prevent the Arduino to receive the compiled data from the IDE.

If you have any problems with the files mentioned, request via email to:

Step 4: How It Works?

Overall Operation

First, power on the the Arduino ROVERBot. The bluetooth module will start blinking the red LED (indicating that it is not connected to any computer or bluetooth MASTER control);

Open the Application Control on your Android phone, initially it will be disconnected what will be indicated by a red flashing warning; When opened the application, it will asks whether you want to activate the bluetooth device or not (if it is not already enabled); answer yes; Goes to the application options menu, select the "connect" option; The available devices will appear for connection (usually the Arduino bluetooth module is called "LINVOR"), select this device. The green LED should be lit on the Arduino bluetooth module and it will appears a green indication on the application.

Ready! now the cell phone and ROVERBot are connected via bluetooth and the ROVERBot is ready to be used.

Use the arrow keys to move in the different directions allowed.

You can also use the cell phone accelerometer to control the ROVERBot (by moving the cell phone in different directions).

Now! you must just have fun with this great Rover (strong, fast and robust).

Step 5: Video and Photos

Video and Photos

You could see the Rover's performance in this video:

Microcontroller Contest

Participated in the
Microcontroller Contest

Tech Contest

Participated in the
Tech Contest

1 Person Made This Project!


  • Made with Math Contest

    Made with Math Contest
  • Multi-Discipline Contest

    Multi-Discipline Contest
  • Robotics Contest

    Robotics Contest

27 Discussions


1 year ago

hi, can you share me the code ?

my email



2 years ago


When i compile the file appear a error :

In function 'void loop()':

error: 'check' was not declared in this scope

exit status 1

'check' was not declared in this scope

Please help me, i starter doing this project about 3 month (school, work, i didn´t have time) and, now i get the last pieces and the code didn´t work

Someone can help me???
Thy :)

mp 15-22

2 years ago

hi i emailed for the complete code. I'm building a similar project. my email is

Christian PaulJ

2 years ago

i'm doing this for my project, and have followed everything every connection, but i cant get the robot to move


3 years ago

porfavor give code. thanks


3 years ago

pls give code.


3 years ago

Good, Thank you for the code , it helped me for mine with a l9110 h-bride , was just having to modify the code to work with it , it was easy :)


3 years ago

how to connect bluetooth after connecting motor shield on arduino.


3 years ago

Hi I just made it but it doesn't respond to my commands on application I'm using hc-05 bluetooth module please help thanks


3 years ago

Is there a way to make use of the remaining 2 motor connections with the same application? It seems that it can only handle 2 motors and no more. The idea is to put a pan/tilt camera on the rover and run the pan tilt mechanism off the same shield.

2 replies

Reply 3 years ago

Hi Samern,Yes I think it is possible to do it. You can run up to 4 motors on the shield.
I cannot do it for you but you must to change the code for your purposes.

Good look on your project


Reply 3 years ago

The Arduino code is not the issue, it's the control application. However, if I can map buttons to send certain letters, I can set the Arduino to respond to those letters easily enough. I am also able to run a pair of TinySine motor controller boards and pair my phone with both using 2 apps and so control both pairs of motors independently. Thanks for the info.


3 years ago

Will the same code work with a L298n controller


3 years ago

will there be any difference if I use a r3 official motor shield.If so can you give me circuit details and code


4 years ago on Introduction

and i am using the same geared motors but i want to make it without tamiya bcoz i will have to order it online coz it not available in india


4 years ago on Introduction

the wrong link and phot
I used tamiya gearbox kit

tamiya twin gearbox lit.JPG