Control remote control car with arduino

DIY Android Remote Control Car With Arduino

Introduction: DIY Android Remote Control Car With Arduino

This is a step by step guide on how to build an Android phone or tablet controlled paper Car. You can modify it to build any other type of vehicle that you like.
Steps include guide on:

1. Building up the hardware of the car

2. Programming the Arduino UNO as the main engine ( controller) of the car from the sample code provided.

3. Writing an app with MIT app inventor and install it to Android phone or Tablet as the remote control unit, with sample provided.

Step 1: Get the Materials and Tools Ready

Before we start anything, we need to prepare materials and tools for the project.
Materials and Tools needed are listed as below together with link to where to get the item:

2. rero Cube Joint x2
(soon in Cytron production)

10. Battery Pack (any battery pack with voltage more than 7V) , Battery Holder.

15. Double Sided Tape

17. Plastic Card Board

Step 2: Get Ready the Car Base

This Step shows the making of the car base to mount the Cube servo and Arduino board and shields. The car base is made from a plastic card board which you can easily get from stationary shop.

Follow simple steps below:

1. In order to match the frame of the car which is made from a paper box later,trace the size of the box onto the plastic card board. My paper box dimension is 23.5cm x12cm x12cm (L x W x H).

2. Cut out the plastic card board following the traces that we made using a cutter with the help of a ruler. Make sure to cut a little smaller than what we had traced from the paper box just now so that the cut out can fit into the paper box. (see last picture, which the card board fit well into the paper box.

Step 3: Prepare the Vehicle Wheels

The car wheels will be made from the Cube Servo and Cube Joint attached with Rero’s Wheel. We will create two set of wheels, ie. the driving back wheel with Cube Servo, and free running front wheel with Cube Joint and Rotatable Connect.

Back Wheel with Cube Servo:

1. Slide the Rero Wheel onto the Cube Servo Output Connect (Output Shaft). Do the same for both Cube Servo.

2. Slide an Inter Connect into opposite surface of Cube Servo’s output connect. Slide to connect both Cube Servo together back to back. (See picture below).

Front Wheel with Cube Joint:

1. Slide a rotatable connect to a Rero Wheel and do the same for the other wheel.

2. Slide the Rero Wheel attached with rotatable connect onto a Cube Joint. Do the same for the other wheel. This will create two free running wheel on the Cube Joint.

3. Slide an Inter Connect onto a cube joint on the surface which is opposite of the wheel, and connect both Cube Joint together with the Inter Connect.

Step 4: Attach the Wheels to the Base

In this step, we will make several cut out on the Plastic Card Board to give space for the wheels.

1. Position the wheel to a suitable spacing on the card board.

2. make markings on the side of the card board for both of the wheels (see picture below) .

3. Draw straight line across the card board on the markings that was made just now. For my case, it is around 5.5cm from each end of base. This lines are the middle lines where the two set of the wheels will be place.

4. Make cutting on the card board to fit the wheel (refer the fourth picture ). In my case, depth 1.8cm into card board for each of wheels and width 7.5cm

5. Cube servo width is 4.5cm. Draw guideline to place the Cube Servo properly. Put on double side tape to the area that will be covered by Cube Servo with wheel. (refer picture). Press double sided tape firmly to the base.

6. Peel of double sided tape cover to reveal the sticky surface and stick the Cube Servo wheel assembly to the base (refer last two pictures.

Step 5: Setting Up for Arduino and Shields

We will setup the Arduino UNO, Cytron G15 Shield and Cytron XBee Shield as the controller of the car in this step.

1. Connect the two Cube servo together, the male connector to the female connector (Cube servo are connected serially i.e. daisy chained).

2. Setup the Cytron G15 Shield: set the jumper on board to select D3 and D2.

3. Setup the Cytron XBee Shield: set the jumper on board to select D11 and D10.

4.Stack the Cytron G15 Shield onto Arduino UNO then Cytron XBee Shield onto Cytron G15 Shield.

5. Fix the position of Arduino Stack and battery pack to the base using double sided tape on the other side of the base (opposite the surface where Cube Servo were sticked). Please put more weight to the Cube Servo side (refer the fourth picture where both Arduino stack and battery pack are placed near to the Cube Servo side).

6. Program the Arduino UNO ( download the source code below, compile and download the Arduino UNO).

7. Plug the the left over male connector of Cube Servo to the Cytron G15 Shield.


Step 6: Create the Android App With MIT App Inventor

This step is to create the Android App and download the App to the phone to use the phone as the remote controller.

2. Click Create to start creating the app. Login using Google Account.

3. Click Project -> Import to import the project from the attachment below ( extract the file to get RemoteWithAcc.aia before import)

4. After Import was successful, click to open the project.

5. If you wish to try the app, you can click Connect on the MIT App Inventor Page and select one of the options available according to your preference, I tested it with AI Companion which requires the installation of MIT APP Inventor 2 app from Play Store on the phone.

6. If you wish to install the app directly to your phone, you can click on Build App (save to my computer) then download the app to your phone and install it.


Step 7: Test Drive the Car

We will test drive the car in this step:

1. Upon successful installation of the app. Turn on the bluetooth on the phone manually. Pair the bluetooth of the phone with the BlueBee on the car. You will need to power on the the Arduino stack by now. (make sure the BlueBee is in transparent mode —Trans before power on). The pass key required for the pairing is 1234.

2. Open the App and press the bluetooth icon on the app, and select BlueBee to connect it. The label above the bluetooth icon will show Connected in green color if the connection was successful.

3. Now, test drive the car by tilting the phone to front, back and side to move the car forward, backward and turn left and right. The app use the accelerometer on phone to as the control.

Step 8: Car Body With the Paper Box

If you are satisfied with the car without body, then your can skip the following steps. Following step will shows the making of the car body.

1.Mark the Wheel center position on the box’s sides. We will cut out semi-circle to fit for the wheel. The wheel center is around 5.5 cm from the ends of box for my case and adding some offset for the paper thickness (in my case 2mm) for each end.

2. Use a compass to draw circles, set the center of semi-circle to the markings made just now.

3. Cut out the semi-circle together with the bottom part of the box.

4. Try to fit the base with wheel into the box (refer last picture). Make necessary modifications to the cutting to fit the wheels well.

5. Lastly you can make some decorations and cuttings to the box to make it more like a car instead of cuboid box.

6. I put some double sided tapes inside the car body to prevent the car base going to far into the body and wheels touch the body.

Step 9: Ready to Go

Lastly put on the car body and the car is ready to go!

1 Person Made This Project!

Did you make this project? Share it with us!


Teach With Tinkercad Contest

Halloween Contest

Cheese Challenge


«Plug the the left over male connector of Cube Servo to the Cytron G15 Shield.» in this step where is the male connector connected to the shield ? and the other male connector will be connected to arduino ?


remote control car © GPL3+

it is a remote control car that works with the arduino

Arduino UNO
× 1
Jumper wires (generic)
× 1
9V battery (generic)
× 1
Texas Instruments Motor Drivers
× 1
DC motor (generic)
× 2

Please log in or sign up to comment.

Team backsters

Rishabh sharma
  • 4 projects

rishi arora
  • 11 projects

Published on

Table of contents

Similar projects you might like

It is the next generation of remote control cars where signal attenuation is completely out of the picture.

IR — Remote Control Car

Using servo motor control with a TV remote control.

Servo Control with TV Remote Control

Project showcase by eldo85

Simple instruction to let you know how to control an AC voltage device using an IR remote control and the Arduino.

IR Remote Control and Arduino Control AC Voltage Device

Have you ever wanted to use a PocketBeagle? And build a remote car? Well, I have! Here is how you can too!

Remote Control Car w/ PocketBeagle and Arduino

Receive the signal and control an LED.

Control an LED with the Remote Control

Project showcase by Nicholas_N

  • 31 respects

This is a project I built from an item I found on Instructables author nipon4666 that I tweaked to correct an issue with high speed motors

IR Remote Control Car

Project tutorial by comptek4

  • 17 respects


Remote Controlled Car Using Arduino With Obstacle Avoiding

Introduction: Remote Controlled Car Using Arduino With Obstacle Avoiding

Here i’m going to instruct you on making a robot car which can be controlled by an IR remote controller. This robot car can be controlled by our usual TV remote or you can use any other IR remotes as well. Most special thing with this robot car is, it has the self obstacle avoiding function. When you drive this car using your TV remote or other IR remote, it will stop automatically whenever it met an obstacle while it moving forward. I hope to do step by step guide on making this robot in very easy way.

Step 1: Required Components for This Project

  • Arduino UNO —
  • Smart robot car chassis with (2 x) toy car wheels and (1 x) Universal wheel (or ball casters) —
  • Two DC motors —
  • L298n motor driver —
  • HC-SR04 Ultrasonic Sonar sensor —
  • TSOP1738 IR receiver —
  • 7.4V 1300mah Lipo battery —
  • TV remote
  • Jumper wires (male-to-male, male-to-female)

    Ultrasonic sonar sensor mounting bracket

    Screws and nuts

    Double sided tape(optional)

    Hot glue gun(optional)

    Step 2: Download the IRremote Library and NewPing Library

    1. Download the RobotIRremote.rar file
    2. Unrar the file and copy RobotIRremote file
    3. Paste the file in Arduino libraries folder where you have installed the Arduino software in your PC (e.g:-C:\Arduino\libraries)

    NewPing library

    1. Download the NewPing.rar file
    2. Unrar the file and copy NewPing file
    3. Paste the file in Arduino libraries folder where you have installed the Arduino software in your PC (e.g:-C:\Arduino\libraries)


    Step 3: Obtaining Hexadecimal Numbers of the TV Remote Keys

    Before build the robot, we have to obtain the hexadecimal numbers of respective TV remote keys. These keys will be used for move the robot car forward, backward, left and right. Please follow the below steps:

    1. Wire the Arduino UNO and TSOP1738 as shown in the above circuit diagram. You can power the arduino UNO by PC via a USB cable (No need batteries).
    2. Download IR_hexa_number_receive.ino
    3. Upload the code to arduino UNO board
    4. Open the serial monitor window
    5. Press any key in TV remote, you would like to use as Robot move forward key
    6. Press any key in TV remote, you would like to use as Robot move backward key
    7. Press any key in TV remote, you would like to use as Robot move left key
    8. Press any key in TV remote, you would like to use as Robot move right key
    9. Press any key in TV remote, you would like to use as Robot STOP key

    In my case, I got the following hexadecimal numbers. You will have different numbers from your remote

    UP Arrow Key = move forward = 0xFFC03F

    DOWN Arrow key = move backward = 0xFF7A85

    LEFT Arrow key = move left = 0xFF02FD

    RIGHT Arrow key = move right = 0xFF40BF

    ENTER key = robot STOP = 0xFFFA05

    Note: In the serial monitor, you only get values like FFC03F. and you have to add 0x to the front of FFC03F and write it as 0xFFC03F when you write these values in your code later.

    In some cases, you will receive value like FFFFFF in between your hexadecimal numbers in your serial monitor, just ignore them.

    important: copy and save the hexadecimal numbers you have obtained to a Notepad, you will need these numbers when you are coding the robot.


    Step 4: Build the Chassis

    Solder two wires to each DC motor. Then fix two motors to the chassis using the screws. If you need any clarification, please watch this youtube video and it will show you how to assemble the Smart 2WD Robot car chassis. Finally attach the Universal wheel (or ball caster wheel) to the back of the chassis.

    Step 5: Mount the Components

    Mount the Arduino UNO, L298n motor driver, Ultrasonic sensor and TSOP1738 containing breadboard on the chassis. Note: when mounting the arduino board, leave enough space to plug the USB cable, since later you have to program the arduino board by connecting it to the PC via a USB cable.

    Step 6: Make Wire Connections

    L298n motor driver:

    +12V → Lipo battery (+)

    GND → Lipo battery (- ) important:connect the GND to lipo battery (-) and to arduino board any GND pin

    +5V → arduino Vin

    In1 → arduino digital pin 7

    In2 → arduino digital pin 6

    In3 → arduino digital pin 5

    In4 → arduino digital pin 4

    Connect two jumper wires to arduino board 5V and GND pins, then connect both wires to breadboard. now you can use this as +5V supply.


    GND (Left most pin) → breadboard GND line

    Vs (middle pin) → breadboard +5V line

    OUT (right most pin) → arduino digital pin 11

    HC-SR04 Ultrasonic Sonar sensor:
    VCC → breadboard +5V

    Trig → arduino analog pin 1

    Echo → arduino analog pin 2

    GND → breadboard GND

    Step 7: Programming the Arduino UNO

    1. Download TV_remote_control_car.ino
    2. Open the code
    3. Replace already written 5 hexadecimal numbers in the code by your hexadecimal numbers that you obtained in the Step 3, saved in Notepad.
    4. Upload the code to Arduino UNO via a USB cable


    Step 8: Make Battery Connections

    Connect the Lipo battery to the L298n motor driver as follows:

    Lipo battery (+) → +12V

    Lipo battery (- ) → GND

    Step 9: Great .

    Now you have your own remote control car

    I would be happy to answer any questions you have
    email me:

    search me on facebook and linkedin for more projects — Danusha nayantha

    Be the First to Share

    Did you make this project? Share it with us!


    Crayons Challenge

    Fandom Contest

    Back to School: Student Design Challenge


Tip 2 months ago

You design is great! As a minor tip, it cheaper to use a L293D motor control module (shown in the linked website below) than a L298N motor shield, but this also slightly complicates the wiring.

Question 4 years ago on Step 9

when i try to upload the sketch ,it says Arduino: 1.8.5 (Windows 7), Board: «Arduino/Genuino Uno»

libraries\NewPing\NewPing.cpp.o (symbol from plugin): In function `intFunc2′:

(.text+0x0): multiple definition of `__vector_7′

libraries\IRremote-2.2.3\IRremote.cpp.o (symbol from plugin):(.text+0x0): first defined here

collect2.exe: error: ld returned 1 exit status

Multiple libraries were found for «IRremote.h»

Not used: C:\Users\User\Documents\Arduino\libraries\RobotIRremote

Not used: C:\Users\User\Documents\Arduino\libraries\Arduino-IRremote-master

Error compiling for board Arduino/Genuino Uno.

This report would have more information with