Picture of Arduino - Control DC Motor via Bluetooth
Hi guys,
In this project we will control a DC motor with a smartphone via bluetooth. This project is great to learn more about:
-DC motor
-Interfacing Arduino with your smartphone
-Bluetooth module

you can visit my website for more electronic projects, interesting news and tips.
Check this video to see it working
Remove these adsRemove these ads by Signing Up

Step 1: Parts required

Picture of Parts required
1x Arduino Uno
1x Bluetooth Module (for example: HC-05)
1x Smartphone (any Android will work)
BlueTerm application
1x L293D IC
1x DC motor
1x Breadboard
Jumper Cables

Step 2: Schematics and common mistakes

Picture of Schematics and common mistakes
Two common mistakes:
-You need to remove the RX and TX cables when you’re uploading the sketch to your Arduino.
-Sometimes people connect the TX from the bluetooth module to the TX of the Arduino… that’s wrong and it won’t work. Make sure you connect it properly, the TX into RX and the RX into the TX.

If the HC-05 Bluetooth Module asks for a password, It's '1234'.

Step 3: Arduino Code

Picture of Arduino Code
For the android communication with our bluetooth module I’ve used the BlueTerm app, It’s completely free, so you just need to go to “Play store” and download it. Then you just need to connect your smarthphone with the bluetooth module. Remember to remove the TX and RX cables. (you can see in youtube video below how that’s done).

Step 4: Final Product

Picture of Final Product
I’ve only set 3 commands to control the DC motor:

    ’0′ – Turns off the DC motor
    ’1′ – DC motor rotates to right
    ’2′ – DC motor rotates to left

Check this video to see the circuit in action!
you can visit my website for more electronic projects, interesting news and tips:

1-40 of 101Next »
DeepakT113 days ago

dc motor is unable to get power supply sir?

any suggetions?

i made it..but the ic gets hotter. what is the reason..and can i control two motors with it.?

Hey dear what is the range of bluetooth modulo?
How far can i operate motor?
BurakTutal1 month ago

Hey this is very useful, I will use the same one with much bigger DC motor.

Do you think L293D will burn because of the more current?

1010722 months ago


bbava2 months ago

hi i need to control 4 dc geared motor using bluetooth how can i do that ?

youssefa3 months ago

Hello sir; I have a question concerning the video which allows to command(order) an engine has direct current and I shall want to know what is that I few to put a servomotor instead of the engine has direct current and is that I little to command(order) several engine in liver? And thank you in advanc

returner5 months ago

Hi, i have a question and i hope you guys can help me with this. how does the arduino actually know actually know which data it is going to send or receive? in which part of the code does it do that? i want to make two arduinos one having a HC05 as a master sending data over to a HC06 slave on two different laptops. I hope you can answer me.

Well in the given program, after the loop

there are if, else if, else if statements. In those it is clearly mentioned the below things

input = 0, then both input pins ( 2 & 7 ) should be LOW

input = 1, then 2 should be LOW & 7 should be HIGH

input = 2, then 2 should be HIGH & 7 should be LOW

I hope you got it !!

Can you send me thesis nd ppt of this perticular mini project. plz sir I am herbly request you send me this project related suff on my email. I am not able to make thesis of this project. this is my id plz send me

tendous3 months ago

can i use L298 in motor driver shield instead of teh single chip L293 months ago


JPUDAYAKUMAR made it!4 months ago
working wonderful
HalimA14 months ago

Could it be done with pic18f4550?

nisarg6 months ago
although i connected everything correctly n uploaded the code, it doesn't work is anything wrong wid the app or i m missing something?
FerH6 months ago

I'm new in all these so I had a question, what is the purpose of the variable "flag"?

RichardR36 months ago

Sir Rui Santos, I have a question. May I know if it is possible to get sensor value and command an Arduino (e.g. motors using L293D) at the same time? If yes, i hope you'll give me some ref, Thanks.

RichardR36 months ago

Sir Rui Santos, I have a question. May I know if it is possible to get sensor value and command an Arduino (e.g. motors using L293D) at the same time? If yes, i hope you'll give me some ref, Thanks.

RichardR36 months ago

Sir Rui Santos, I have a question. May I know if it is possible to get sensor value and command an Arduino (e.g. motors using L293D) at the same time? If yes, i hope you'll give me some ref, Thanks.

mustafaa67 months ago


Thanks for your tutorial. I am trying to contrrol arduino by android. I have done coding for arduino but I want to make prosecc when its is pushed android on button so can you sahere ardoino source code.

minsujeong9867 months ago

Is it available to use by I-phone?

I don't have any Android device.

Also, can you recommend a bluetooth control App?

HenleyMcCoy7 months ago

can I use any kind of bluetooth module?

HenleyMcCoy7 months ago

can I use any kind of bluetooth module?

i had to change by tx,rx becoz it was not working,

TahirJ9 months ago

How could I modify the code to add in voice commands and connect a bluetooth headset to verbally command arduino/bluetooth module?

there is no need to modiy ur code ,just use a voice enabled blueetooth app from playstore.


hi,i wrote a program to control to 12v dc motor x 2,motors are moving forward and reverse ,but there is an issue,when i press 1 ,output fwd,but when i press o,output is fwd,but when i press 0 and 1 simultaneously it may give output :rwd

using blueterm app .

ur code is nor uploading to mcu:arduino,showing some error.


#include <SoftwareSerial.h>//import library

SoftwareSerial Blueterm (10, 11);// rx ,tx

int motoroutput1=3;

int motoroutput2=4;

int motoroutput3=6;

int motoroutput4=7;

int motorenableA=5;

int motorenableB=8;

int BluetoothData; //data from blueterm app

void setup() {

Blueterm .begin(9600);

Blueterm .println(" press 0:FWD");

Blueterm .println(" press 1:RWD");








digitalWrite(motorenableB,HIGH);// put your setup code here, to run once:


void loop() {

if (Blueterm .available()){

BluetoothData=Blueterm .read();


digitalWrite(motoroutput1, HIGH);

digitalWrite(motoroutput2, LOW);

digitalWrite(motoroutput3, HIGH);

digitalWrite(motoroutput4, LOW);

Blueterm .println("Motoroutput fwd");


if (Blueterm .available()){;


digitalWrite(motoroutput1, LOW);

digitalWrite(motoroutput2, HIGH);

digitalWrite(motoroutput3, LOW);

digitalWrite(motoroutput4, HIGH);

Genetronex.println("motoroutput rwd");


//if (blueterm.available()){



// digitalWrite(motoroutput1,HIGH);

// digitalWrite(motoroutput3,LOW);

// digitalWrite(motoroutput2,LOW);


//blueterm.println("motoroutput left");


//if (blueterm.available()){







//blueterm.println("motoroutput right");


//if (blueterm.available()){







//blueterm.println("motoroutput STOP");


}//}} //}}}

// put your main code here, to run repeatedly:

rahul_kumar93810 months ago

i am wworking on a project to control a robot using bluetooth .help in interfacing bluetooth module working on pic 16f

gsandhu21 year ago

I’m working on a project which is about making a rescue
robot . I have struggling with it for 4 months and now all the mechanical works
had been done . but I’m facing difficulty in make the robot to work with rf
module can u plzz help me…

I want make transmitter and receiver that can control the
motion…I mean that receiver should have control 8 dc gear motor and each dc
motor should have a forward and backward botton to control the motion ……can u
kindly help me with this project ….if u can make the circuit board diagram for
the PCB ….or any other suggestion plz reply……mail me at “”

I have a project - Bluetooth data acquisition system using arduino , I will be receiving data on my android phone, so if I could know the android coding part it really would be helpful.

can i use L293NE IC than L293D IC?

The NE is just the package so there is a L293NE and a L293DNE, but the difference is that the L293DNE has flyback diodes built in while the L293NE does not and they need to be added externally as on page 2 of the datasheet:

jacpac1 year ago

can i use 2 motors? and how?

jacpac1 year ago

can i use my nano to create this project

i need ur .aia file for android

ongara_011 year ago
can help me bot ths dc motor; minebea 17PM-J. m need the spect
famsinyi1 year ago

Hi, the hc 05 (slave module) I purchased cannot be detected by my android. I think the connection is straight forward, I suspect the module I bought doesn't work, can u point me to any store to buy one that you used?


Thanks for the code and all the instructions! Good sharing.

I have a problem as the bluetooth module I am using is a different one, in my case it is LCBTCY6, but unfortunately it is not working. Do you have any clue about why might it be? Through the serial monitor works perfectly.

Thanks in advance!

RuiSantos (author)  áde marcos serrano1 year ago

Thanks Áde.

If it's working via serial monitor means your circuit is correct!

About your bluetooth module... I'm not sure how it I've never used one. Try to take a look at both datasheets.

See If my bluetooth works like yours.. as I don't have the time do that myself.

Your module might need some kind of configuration before you use it. because I'm sure both modules can communicate via serial port with the Arduino.

hey after instaliing blueterm app. do we need to do anythng in that app.. means for setting commands n all.. plz reply fast...
1-40 of 101Next »