GESTURE controlled Arduino based Rover ( Wireless + Line Following )

Picture of GESTURE controlled Arduino based Rover ( Wireless + Line Following )

What is it capable of ?
1. It can be controlled using gestures.
2. It can Send temperature , object distance , battery level , etc. values to the glove ( LCD ).
3. Can run on 45+ degree angle.
4. Tx Rx pair on both rover and Glove ( for bi-directional data transfer ).

Why to use joysticks to control you robot when you can control it by the gestures of your hand ! This robotic Rover works on 433MHz Band RF Modules (ASK).

The remote is modified into a GLOVE which is equipped with

an accelerometer (ADXL335)

16x2 LCD display

8 button keypad

and a transceiver

The rover and glove is based on ATmega328 P which is used in Arduino Uno as well ,


ROVER UNIT ( I've named it TITAN :D )

1. ATmega328P

2. Custom made arduino compatible robotic controller

3. DIY FTDI cable ( USB to SERIAL )

4. HC-SR04 Ultrasonic Rangefinder

5. 2 x Optical sensors ( to convert it into a line follower)

6. 2 x custom 30 Amp Motor drivers : MAKE YOUR OWN MOTOR DRIVER

7. 2 x 150 RPM & 5 kgf-cm torque DC motors

8. 12V SLA ( Sealed Lead Acid ) Battery 1.2 Ah capacity

9. 4 x Track wheels and Track belt

10. Acrylic sheet chasis ( i used 4mm thick sheet )

Gesture GLOVE :

1. A Glove

2. ATmega 328P based board

3. ADXL335 accelerometer

4. 16x2 LCD Display

5. A 8-button Keypad

6. 433Mhz Transceiver

7. Some headers and ribbon cables

Remove these adsRemove these ads by Signing Up
1-40 of 126Next »
ChetanY120 days ago

Hello, can you please provide me (.brd) file of keypad, and my email is (

baj11 month ago

where do u buy ur optical sensors

electro18 (author)  baj123 days ago

The optical sensors are bought from a local hobby store
If you can't find them nearby, you can make them yourself ! The circuit is quite easy, I'll upload the schematics if you need.

Sir, I need .brd files. please send me to my email. that is

amandeo2 months ago

Can you please provide the circuit diagram of keypad . Also please mention the connection between keypad and atmega328.Since its my first project i have a lot of doubts.Advanced sorry if i keep on commenting and disturb you !

electro18 (author)  amandeo2 months ago

Sure, I'll upload the circuit diagram soon.

That's perfectly fine, I'll be sure to help you in every possible way ! :)

amandeo2 months ago

hi sir,

How to get accelrometer values?

I caliberated using this code :

void setup()




void loop()


intxaccel = analogRead(0);

intyaccel = analogRead(1);

intzaccel = analogRead(2);

unsigned long timevar = millis();


Serial.print(" ");


Serial.print(" ");


Serial.print(" ");



So what value should i give as input ?

electro18 (author)  amandeo2 months ago

okay , so assuming that you have an ADXL335 ( with analog outputs for x , y , z axes ) the values should range from 300 - 440 ( mostly ).Using the serial monitor , verify the high and low values by tilting it ( without much acceleration ) else you could write a code to do that for you. Then use the "map" function to convert these values from analog values to angle.

angle_x = map(angle_x, 300, 440 , -90 , 90);

angle_x = constrain(angle_x,-90,90);

do this step for all the values and then you can easily convert these values from 0 to 255 ( suitable for PWM ).

amandeo2 months ago

I got this error while compiling code for glove:

In file included from sketch_jan14a.ino:3:

E:\Arduino\libraries\ShiftLCD/ShiftLCD.h:116: error: conflicting return type specified for 'virtual void ShiftLCD::write(uint8_t)'

E:\Arduino\hardware\arduino\cores\arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)'

I tried LiquidCrystal then, I got this error:

AXIS_GLOVE:43: error: no matching function for call to 'LiquidCrystal::LiquidCrystal(int, int, int)'

Requesting your help.

electro18 (author)  amandeo2 months ago

Yes, that's because the library that is available on that particular website has certain bugs which conflict with the return types. I've re-edited the library and uploaded it on my other instructable ( Digital tachometer ). The other point is that you cannot use the form "mylcd(int, int, int)" This is because the liquid crystal library supports 6 pins and not 3 pins , so you can't run a LCD with liquidcrystal library on bare 3 pins. That is why you need the ShiftLCD library. You may download the updated library from my other Instructable.

amandeo electro182 months ago

It worked ! Thank you !

electro18 (author)  amandeo2 months ago

I'm glad that it worked for you ! Good luck :)

amandeo2 months ago

Hi sir,

How to make this optical sensor? I couldnt get it from shop. If it can be avoided what should be the changes in program? kindly help.

electro18 (author)  amandeo2 months ago

There are no amendments to be done in the program. That's because the sensors are basically used in the line following mode. Until you set the mode to "line following" everything will work as it normally should .

robobot31124 months ago

how am i to connect so many sensors on one arduino?,wont they take too much of power. Otherwise can i use breadboard.

electro18 (author)  robobot31124 months ago

Using a breadboard won't do any good. It would rather make the rover bulky and hard to rewire. Using a custom board would just ease the process. The power consumption won't be affected by the mode of connection ( except for the resistance of traces / breadboard connectors ). As long as you have an appropriate power source capable of delivering required current to all the peripheral sensors, you don't need to worry much.

can i get the schematic for the keypad?Thanks

robobot31122 months ago

i am using the liquidcrystal library, everything seems to work, but for the multiplexed keypad , i'm running out of pins , the only pins left are 9,8, what can be done , can i use pins 0,1,13 as normal IO pins?

electro18 (author)  robobot31122 months ago

Yes , you can !

Abdul4984 months ago

I am very much interested in this project

but i am confused in the circuit

could you please send the circuit daiagram of it

electro18 (author)  Abdul4984 months ago

I've attached the (.sch) schematic files on step 2.

jasilva174 months ago
electro18 (author)  jasilva174 months ago

Sure , it will !

robobot31125 months ago

i am having a doubt with the code. I am attempting this project without the extra features (only gesture control) I have downloaded all the libraries but i get an error on the axis glove .How can i exclude the libraries and remove the lcd from the code?

and i also am having trouble finding a different code as everything wants an encoder.

how can i code it . could you help me out?

give me yr email i ll send that improved code

you could send it to me as a private message.

cant send files in that

I got the code, I made my own using liquidcrystal. Thanks for the tip.

use liquidcrystal insread of shif lcd.
shaksham5 months ago

hey bro i am in trouble i dont know how to generate a source sode and one more thing is that i have to make a major project using arduino so please help me to suggest a name of project using arduino so that i make using its instructions..please help me..

electro18 (author)  shaksham5 months ago

Well I don't get what exactly you're longing for , but if you need the source code then I've already uploaded all the source codes ( .ino files ).

tanay can i use liquid crystal instead of shiftlcd
electro18 (author)  navneetcsgowda5 months ago

Yes you can use the LiquidCrystal library.

PaulBeaudet6 months ago

Links to libraries? Thanks!

electro18 (author)  PaulBeaudet6 months ago

Thank you!

electro i need yr help
electro18 (author)  navneetcsgowda6 months ago

Feel free to ask !

bro plz contact me using
whatsapp: +91 91 9164569398
1-40 of 126Next »