Picture of Android RC Car
  Hello and welcome to my second instructable, where we'll be modifying a cheap RC car to drive it with an Android smartphone over Bluetooth.
  Actually, this was my school project at the Lycée Jules Fil , so I had to produce a complete write-up. Unfortunately, it is in French, but if you want a really in-depth description of the system, and you understand french, you can download it HERE .

   I recommend that you read my first Instructable  for a more detailed explanation on how the thing works.

  The cost of following this instructable is something around 30~40$ if you already have the RC car.

  Disclaimer : In this instructable, you will be using dangerous chemicals (Acetone and Ferric Chloride) and dangerous tools (drill, saw, soldering iron,etc...). I can't be held responsible if you harm yourself following this guide. If you follow this instructable carefully, and protect yourself you won't get hurt.

  So, the RC car will be driven using the accelerometer sensor (like in iPhone/Android racing games) over bluetooth. For that, we'll be using an android app and arduino library named Amarino 2.0 . The system works a little bit like that : 

           |     I²C
          \ /
Android Smartphone
           |     Bluetooth
          \ /
          |     PWM / simple logic
         \ /
         \ /
Rear motor + Dir motor

Dont forget : If you liked my Instructable, please rate it , and let me know in the comments what you think about this Instructable, and what I could do to make it better ! Thanks !

Below is a little video demo :
1-40 of 157Next »
AhmedE148 months ago

what a great project , It worked well until I changed the name and password of the bluetooth module (AT command mode) as the arduino stopped receiving data from the bluetooth module , Can anyone tell me why did this happen?

a1r (author)  AhmedE148 months ago
You have to delete the device from you list of paired devices on your phone and redo the pairing process. Afterwards you can add it back in the Amarino app.
yaphetzootri8 months ago

why we need to be a pro, to download the project pdf

yaphetzootri8 months ago

why we need to be a pro, to download the project pdf

yaphetzootri8 months ago

why we need to be a pro, to download the project pdf

b.darawshi11 months ago

good work :) ,,,,,,, can you explain why you multiply value by 24 in this line

intdata[0] * 24

a1r (author)  b.darawshi11 months ago
This value has a max of 10, so I amplify it by 24 to get a value using the (almost) full PWM range (0-255)
意金1 year ago
Hello ^ ^). May I ask a question about the schematic of the DIY PCB. Based on the schematic of IC L293 given, the Pin 8 and Pin 16 are VSS. But they connect the Pin 5V of Arduino and "+" of the 9V battery. Is that all right to connect to a different voltage(5V and 9V) in an IC?

May be, this can be of great help


a1r (author)  意金1 year ago
Nope. Pin 16 is logic supply (goes to arduino 5V), pin 8 is motor supply, goes to 9V
意金 a1r1 year ago
If the Pin 8 is motor supply, goes to 9V, so may I ask is this necessary to Plugin 9V battery to the RC CAR? IN another way, The RC car has power supply itself(2AA Battery), is this still an useful working part? Appreciate~ ^ ^)
意金 意金1 year ago
Thanks. Finally I figured out. The 5V and 3.3V are out put to motor and blue tooth right? Sorry. ^ ^)


I am using Eagle 6.5 and while printing the mirror text is printed as dots....

Any help?

louie_yo1 year ago
hi! sorry for the noob question (and my english) but does it matter which arduino i use? must it be duemilanove or can i use leonard? thank you!
意金1 year ago
Hi ^ ^)May I ask what is the function of the "jump" on your schematic of the DIY PCB. In my point of view, the RX and TX on Arduino Board is just connected to the DIY PCB board's RX and TX then connects to the RX and TX of blue tooth.
意金1 year ago
Hi, dude~ Excuse me, may I ask where to solder Power switch. Is the same place that the pic showed us? And if consider about the schematic of the DIY PCB, where is the power switch in there? Appreciate~ ^ ^)
意金1 year ago
I have no idea why the pic can't be uploaded. May I ask your email therefore I can send the schematic of the IC L293 to u. That shows the pin of the IC.
意金2 years ago
Hi, a1r. Dude your are awesome! I was doing this as a project of my study. Here is the thing I feel confuse about the PCB schematics that resored by the eagle CAD. If the positive"+" to the 9v, is the negative"-" to the GND or GND 1?
The 9v battery power supply the power to the DIY PCB with L293IC, and the Arduino board, Bluetooth kit are supported by the extra power supply to the blue Arduino board, is that correct? Appreciate your help~ ^ ^
a1r (author)  意金2 years ago
The "-" of the battery goes to one of the two big GND pads next to the L293 and you have to connect the other big GND pad to the Arduino's GND pin (the same one with the blue wire and socket).
意金 a1r2 years ago
So u mean, 2 GND pads near L293, one is connected to "-" of 9v battery and another one is connected to Arduino GND pin, and the big GND pad is also connect to the BT kit's GND am I correct?
a1r (author)  意金2 years ago
意金 a1r1 year ago
Thank you thank you~ ^ ^
意金2 years ago
Thank you thank you~ I connect BT kit directly to the Arduino board just for testing my BT kit see if it is working or not (return policy^ ^)
Sry I still can't get "the BT GND pad connects to a GND pad (near the L293 for example) through two wires connected by a 2-pin connector",
I know BT GND to GND on the PCB near L293, but why throught 2 wires? there is only one wire (the yellow wire in the pic).
Do u mean the 2 pin connector is connected to 16 pin DIP socket?
Simply it is like I don't know where dose the 2 pin connector(yellow wire in the pic) plug in?
sorry~ I don;t speak English much, Appreciate for your patient~ ^ ^) dude
意金2 years ago
Hi wts up dude ^ ^ , so can I say GND is connected to "-"of the 9v battery, and GND1 connects to GND of the Arduino board, and the GND of bluetooth is connected with the 2 port GND came with the Arduino board. Am I correct?
Beside I see the bluetooth has a 2 head plugin connected to GND of the Arduino board, so for the buletooth kit, can I ask do we have to use 2 head plugin to full plug into the 2 ports GND of the Arduino board?
the following images are 2 ports of GND, and 2 heads of the GND plugin which is from the bluetooth, I mean. ^ ^) Appreciate~~
a1r (author)  意金2 years ago
Aaah. You didn't understand correctly: The PCB you made sits ON TOP of the Arduino and utilizes ALL of the Arduino pins (you can't plug something else in them), that's the concept of an Arduino shield.

And the BT GND pad connects to a GND pad (near the L293 for example) through two wires connected by a 2-pin connector (your second photo) like this:
BT GND---------==- ==---------GND pad on the pcb

I did this to be able to shut down the BT module by unplugging this connector: when I uploaded a new sketch, the BT module would cause the upload to fail, so I had to switch it off during that time.

Be sure to look closely to the photos I included in this instructable, they explain pretty much everything (correct wiring and stuff)
意金2 years ago
Thanks thanks~
I find both Dir motor and rear motor have 2 wires. Is there any "+" or "-"or other differences between the 2 wires either from the RC car circuit board or any differences between the 2pads of "Dir moto" or "moto" on DIY circuit board? (in the PCB schematic they are M1,M2.D1,D2, so is there any main difference between M1,M2,or D1,D2?)
For those 2 image, I just directly connect the 2 wire either from the Dir motor or rear motor to the DIY circuit board. Is that correct? Thanks~
And may I ask is it possible to connect the Dir motor and rear motor directly to the Arduino Board...Appreciate~ ^ ^)
a1r (author)  意金2 years ago
Technically, nope no differences, BUT I've written the software so that the DIR pins are meant to be connected to the Direction motor and the Motor pins have to be connected to the Rear motor.

One last thing: if your car turns in the opposite direction, swap the red and black wires soldered to the DIR pins. If the car goes reverse when you tilt your phone forward, swap the red and black wires soldered to the Motor pins.
Amazing thing I'm looking first time android Rc car thanks for the post keep sharing this kind of information.
Thom Kouwen2 years ago
For everybody with arduino IDE versions higher then 1.0: download the two files in the link below and replace the MeetAndroid.cpp and MeetAndroid.h in the library folder of the Arduino IDE with the new files. Then your code should work. Go to this link: http://code.google.com/p/android-bt-arduino/downloads/list and download the two files named "MeetAndroid.cpp" and "MeetAndroid.h".
a1r (author)  Thom Kouwen2 years ago
Thanks buddy :P
kverula2 years ago
i try to change the battery but there is no improvement. When i use the multimeter in the every pin of IC there is no voltage output. so i think there is a problem in the IC.Need help for troubleshooting plz reply ASAP
kverula2 years ago
I already fixed the problem about the program and i already complete the wiring.when i try to pair with my android the output of the rc car is just a beep.why is that?plz help thx
kverula2 years ago
Plz help i have a problem in the program.This is the error

In file included from RCdroid.pde:6:
C:\Users\jonathan\Desktop\installer arduino\Arduino\arduino-1.0.4\libraries\MeetAndroid/MeetAndroid.h:104: error: conflicting return type specified for 'virtual void MeetAndroid::write(uint8_t)'
C:\Users\jonathan\Desktop\installer arduino\Arduino\arduino-1.0.4\hardware\gizduino-\cores\gizduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)'

i already followed the instructions but i still i encounter this.plz reply ASAP
sunand c s2 years ago
hi please send me the circuit diagram of this project.i am doing exactly the same project
my e-mail id sunandsuresh92@gmail.com
kverula2 years ago
I have a question, what if there is no stock for arduino duemilanove, what is other alternate arduino?
a1r (author)  kverula2 years ago
You can use the Uno too
iabir2 years ago
i have a question.....is there any was to use bluetooth USB adapter instead of bluetooth serial adapter?...if yes then how?
mohdhafiz2 years ago
Jonathan:can i ask u..i know Proportional Speed ..
how to operation..
u can explain
intdata[0] = int(data[0]);
intdata[0] = intdata[0] * 24;
a1r (author)  mohdhafiz2 years ago
Could ya please give me like the 10 lines of codes surrounding this, I can't figure out like that ... thx
mohdhafiz a1r2 years ago
sorry to many question.

void setup() {
Serial.println("\t\t\t| Starting Up.. |");
pinMode(EnablePinDir, OUTPUT);
pinMode(EnablePinMotor, OUTPUT);
pinMode(LogicPin1Dir, OUTPUT);
pinMode(LogicPin2Dir, OUTPUT);
pinMode(LogicPin1Motor, OUTPUT);
pinMode(LogicPin2Motor, OUTPUT);

Serial.println("\t\t\t| PG-R Ready ! |");
Serial.println("\t\t\t| Have Fun ! |");

meetAndroid.registerFunction(floatValues, 'A');
-what the function..Serial.println("\t\t\t");
// ..===========================================..
// || ||
// || Control Algorithm Beginning here ||
// || ||
// ''===========================================''

// This is for Forward/Reverse
if (-10<=data[0]<=10) {
// Tilt-Proportional Speed
intdata[0] = int(data[0]);
intdata[0] = intdata[0] * 24;
-why multiple "24";

1-40 of 157Next »