Introduction: 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
-L293D

you can visit my website for more electronic projects, interesting news and tips.
Check this video to see it working

Step 1: 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

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.

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

Step 3: 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

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:

Comments

author
danielferns made it! (author)2017-07-22

Very helpful. Is there a way i can control the speed of the motor via bluethooth. Or serial com via pc? Thanks in andvance!

author
bcboy1956 made it! (author)2017-07-21

I am new to the electronic build is there more information regarding the electronic parts, detailed instruction of the schematics? like how to attach the wires to the dc motor etc.

author
prakhar_42 made it! (author)2017-06-11

Nice Project

author
prakhar_42 made it! (author)2017-06-08

Hey guys I am facing a problem in connecting my app with HC-05 its like there is no option for connect

author
grechy29 made it! (author)2017-05-14

This circuit works amazing, however, i had to create a trick in the system so that i got my motor to run off 11.4v whilst the arduino worked off 11.4 through a 5v voltage regulator.

author
Hi I am mad made it! (author)2017-01-08

hi this was a very good project

Clap clap

And I have a question can we make this voice controlled

author
desertwalker made it! (author)2016-12-16

Hey Rui,

Thanks for a great tutorial, just wanted to point out a discrepancy with the code you kindly provided and the Fritzing diagram.

In the code

int motorPin1 = 3; // pin 2 on L293D IC
int motorPin2 = 4; // pin 7 on L293D IC

In the diagram

3 ---> pin 7 on L293D IC

4--> pin 2 on L293D IC

Regards,

desertwalker...

author
cyhalosrox made it! (author)2016-07-16

is there a more detailed instruction of the schematics? like how to attach the wires to the dc motor etc.

author
Agent shah made it! (author)2016-02-15

How should I connect more than one motors

author
DishantS6 made it! (author)DishantS62016-06-18

dude, you can, if you use l293d then basically pins 3 and 6 of the l293d can control one motor and pin 14 and 12 can connect to another motor on l293d.

author
SebastianC54 made it! (author)SebastianC542016-02-19

I did my project with out the transistors and it worked fine, you will want to just directly wire two pins per motor, with one on high and the other on low, i can get you a code ill put in the comments tomorrow

author
MohammedM95 made it! (author)2016-04-12

i cant connect to bluetooth !!why ?

its pair with the smart phone but no match !!

author
JomA2 made it! (author)2016-04-03

The code and circuit I have run perfectly when connected up to my laptop or any computer. But when connected to an external power supply its not working

author
SamratD3 made it! (author)2016-03-02

What is the power source for the motor...??? I mean don't we need a battery or something to power up the circuit???

author
SebastianC54 made it! (author)2016-01-25

Im doing a school project and I want to do this with a third motor, and relays and lights. I am using the relays to give it 9.6v instead of 5v how would I change the code to help me set it up using the blueterm app

author
95basilk made it! (author)2016-01-19

hello sir.... how can i control spees without using an arudino uno r3??
can i use anything other which çan be manufactured by ourselves insted of this arduino?

author
lpradhan1 made it! (author)2016-01-11

Why sometime i get error while connecting to bluetooth deivce ??

author
all4alex made it! (author)2015-12-13

can someone help? Im a newbie in arduino . i want to make the same concept in your project but i want to use servo motor . what will i change in this project?

author
JuanG43 made it! (author)2015-10-03

How many dc motors can i control with it?

author
matt_shungoh made it! (author)matt_shungoh2015-11-29

2 motors

author
Lintang_Wisesa made it! (author)2015-11-10

thx a lot bro, this is mine: https://www.youtube.com/watch?v=NeP0aTYB5qU

52. 2015 - Tamiya Androino.jpg
author
namrataqwer made it! (author)2013-12-30

hey after instaliing blueterm app. do we need to do anythng in that app.. means for setting commands n all.. plz reply fast...

author
vedantchawla.info made it! (author)vedantchawla.info2015-10-09

i had burn code in Arduino board
everything is done from my side
stilling confusing how to use it with application
data is not fetching

author
RuiSantos made it! (author)RuiSantos2014-01-04

You don't need to configure anything... I think, but you can change if you like... for a better display. take a look at all the setting and change the way you prefer.
Sorry for taking so long to answer I've only saw you question today.

author
vedantchawla.info made it! (author)2015-10-09

i made this
i check everything twice
sometimes getting error from blueterm application "device connection was lost"
motor not work and I'm not getting any response from device

author
laith mohamed made it! (author)2015-09-26

Looks good work i like it .

author
kavish laxkar made it! (author)2015-06-10

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

author
Sara Gupta made it! (author)Sara Gupta2015-09-23

pls send the complete working code.

author
GauravK10 made it! (author)GauravK102015-07-11

ur ic is heated because of the high current u r drawing through the motor.... maybe instead of l293d , u should go for l298. and yes u can control two motors from a single l293d or l298.

author
tytower made it! (author)2015-08-13

Get it up front that you are charging $20 for this book and you will get a few more takeups . I for one won't be .

author
PeymannP made it! (author)2015-07-28

HELLO YOU CAN SEND SOREC COD FOR MACKING APP ANDROUID

author
tobias.sobkowiak made it! (author)tobias.sobkowiak2015-08-04

:-))))

author
ahmedH22 made it! (author)2015-07-25

I Made it!!!!

IMG_20150726_010640.jpg
author
DeepakT1 made it! (author)2015-06-23

dc motor is unable to get power supply sir?

any suggetions?

author
shah dharmik made it! (author)2015-06-07

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

author
BurakTutal made it! (author)2015-06-02

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?

author
101072 made it! (author)2015-04-22

great

author
bbava made it! (author)2015-04-09

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

author
youssefa made it! (author)2015-04-06

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

author
returner made it! (author)2015-01-21

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.

author
Vamsi Srikanth made it! (author)Vamsi Srikanth2015-01-27

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

author
PratikM1 made it! (author)PratikM12015-04-03

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. pratikmankar1802@gmail.com this is my id plz send me

author
tendous made it! (author)2015-03-16

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

author
liming.li.10 made it! (author)2015-02-24

interesting!

author
JPUDAYAKUMAR made it! (author)2015-02-20

working wonderful

temp_-2106129787.jpg
author
HalimA1 made it! (author)2015-02-12

Could it be done with pic18f4550?

author
nisarg made it! (author)2015-01-01

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

author
FerH made it! (author)2014-12-30

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

author
RichardR3 made it! (author)2014-12-28

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.

author
RichardR3 made it! (author)2014-12-28

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.

About This Instructable

265,104views

668favorites

License:

Bio: Author, Blogger, Electronics Enthusiast and Entrepreneur. For complete Electronics Projects and Tutorials go to: http://randomnerdtutorials.com/start-here
More by RuiSantos:ESP8266 Web Server (Without Arduino)Arduino Simple Memory GameArduino – Datalogger with Temperature Sensor and Photoresistor
Add instructable to: