Introduction: Easiest Way to Make a Gesture Control Robot

About: I am an Electronics Engineer and hobbyist......I'm interested in work in robotics and automation, I make projects using Arduino and other hardware. I love to share things which I learn.

Control toys like a superHero. Learn how to make a gesture-controlled car.

This is about how to make a gesture-controlled car by yourself. Basically this is a simple application of MPU-6050 3-axis Gyroscope, Accelerometer. You can do many more things. by understanding how to use it, how to interface it with Arduino and how to transfer its data over the Bluetooth modules. in this writeup, I will be focusing on Bluetooth to Bluetooth communication, in between two HC-05 Bluetooth modules.

Step 1:

Components Used:

1- Cardboard, Acrylic sheet
2- Arduino UNO X1 -

3- Arduino nano X1 :

4- BO Motor X2 -

5- Wheels X2-

6- IC L293D x1 -

7- 2s 7.4Volt lipo battery X 2-

8- PCB-

9- Connectors-

10- Bluetooth Module X 2:

11- MPU-6050 X 1:

12- Gym Gloves X1 :

Direct order PCB used in this project from PCBway:

Follow the video to build a robot body and connections for this project. you can build the robot body as shown in the video or can be modified into 4WD(4-wheel drive).

if you are not using the shield shown in the video, you can use the circuit diagram given, for making your circuit board. or can order PCB for this shield directly from the link is given above for that.

Step 2:

After building the robot body make the remote unit as per the given circuit diagram.

Step 3:

Now let's talk about Bluetooth module configuration. basically, HC-05 Bluetooth module comes with a slave module factory setting. that means we can send data to the module just by plug it in. no need to do any other setting to send data from mobile devices to the HC-05 module. just enter its default password (1234/0000)to connect with it. but what if we want to send data using this module to some other same module or to a mobile device.

in this project, we doing the same thing sending data through the Bluetooth module. collected by the MPU-6050 gyro sensor to another Bluetooth module. so to do this First we need to configure these two Bluetooth modules. so that they can get automatically bind with each other after power on. Here the first module is acting as a slave device, which will receive signals from the remote unit and will be mount on the car. And configure the second one as a master device which will act as transmitter units and will send data to the slave device,

Step 4:

So first configure the first bluetooth module as slave device. to do this connect it with Arduino as per this wiring diagram. And upload the code by name configure.

download all required programs and libraries from here:

Disconnect module. Press and hold the ky on the module and connect it back. You will see the led on module is blinking slower. Once every 2 seconds. This means HC-05 is in the AT command mode. Now open serial monitor change the baud rate to 9600 and output type as both NL & CR. Now type AT in send box and send it. if it replies with ok, it means all Is well. But if it not, and replies with some error, Send AT again. Until it replies with ok or chek connections and send AT again.

after getting OK responce from module enter the following commands one by one,
AT+ORGL and send it. this command will set the module in the factory setting.

AT+RMAAD this command will release module from any previous pairing

AT+UART? check the current baud rate of the module

AT+UART=38400, 0, 0 set the baud rate as 38400

AT+ROLE? check the role whether it is slave or master. it replies with 0 or 1. if the module is slave it replies 0 and if it is a master device then it will reply with 1 set role as a slave device.

enter AT+ROLE=0

AT+ADDR? check the module address. Note down this address. replied by module. after getting this address, configuration for the slave module is done.

Step 5:

Now its time to configure the second Bluetooth module as a master device. Connect this module with the Arduino board and enter it into the AT mode. as we did with the previous one.

Enter these AT commands by given sequence.



AT+UART=38400, 0, 0


set the role of this module as the master device. AT+ROLE=1

AT+CMODE=0 so that the module will connect only a single device. default setting is 1

now bind this module with a slave device to do this enter,

AT+BIND=" the address of the slave module"

and all done now install libraries for MPU-6050 sensor an I2C communication. Since MPU-6050 gyro sensor has I2C interface. download libraries and Source code from here. if you have preinstalled these libraries, skip this.

Step 6:

Now connect the car unit with pc using a USB cable. select correct com port and board type. And upload theprogram by name "Gesture_controled_Robot__car_unit_". Make sure the battery and Bluetooth module is not connected with the car while uploading the program.

Do the same with the remote unit. open program by name remote. and upload it to the remote unit. Insert the slave Bluetooth module on the car unit and master the Bluetooth module on the remote unit. And all done.

Step 7:

Let's power it on and it is ready to play…….

Hope you find this useful. if yes, like it, share it, comment your doubt. For more such projects, follow me! Support my Work and Subscribe to My Channel on YouTube.

Thank you!

Robotics Contest

First Prize in the
Robotics Contest