Handgesture Controlled Robot With Robotic Arm





Introduction: Handgesture Controlled Robot With Robotic Arm

About: Dream like you'll live forever and live like you'll die tomorrow

With this robot, you control everything with your hand, even the robotic arm!

The hand gestures can be programmed differently.

Long range with Xbee communcation!

Step 1: Parts Needed

Step 2: Base Model

I made a simple drawing in SolidWorks and then went to a local ironmongery to get the plate bended.


On the base plate under the plexiplate is were the two DC motor will be placed. Over that will the 12v battery holder and the H-bridge fit. And on the top level will the Arduino be mounted. In the middle of the plate will the robotic arm be placed.

The drawing model is included.

Step 3: Flex Sensors

Every flex sensor is soldered according to the first schematic, with a 22K Ohm resistor. There is a good tutorial for how to read from this and how it works here: http://bildr.org/2012/11/flex-sensor-arduino/

The first thing to do is to test each of the flexsensors and write down the values when its bent and unbent.

To be sure that the flexsensors dont breake at the end when its bent, I took an old plastic card I had from some random store, and made small rectagular parts of it and placed it at the end of the flexsensors. After the soldering, take some electric tape and wire around each cable to prevent short circut, and after that just put over some shrinking cables to make it nicer.

Step 4: Setting Up the Xbee

Im not going to get into details how to set up the Xbee, but the first thing you need to do is configure the Xbee's and upload the latest firmware. How to do it, here is a tutorial: http://examples.digi.com/get-started/configuring-x...

After the configuration is done, here is a simple communiation tutorial: http://www.interactiondesign.se/wiki/xbee:remote_b...

Step 5: 1st Arduino: Connecting Power-supply,H-bridge,servos,DC-motors and Robot-arm

The power supply on the robot will have a 12v battery pack. This will both drive the Arduino and the two DC motors and the servos, a regulator is needed to bring down the 12 volts from the battery to 5v which is required for the servos. The H-bridge, SN754410NE is soldered according to the circut diagram on a regular PCB board. The switch is soldered and conntected to the battery.

The DC-motors can be mounted by taking some metal piece and bend them around the motors and then attach them to the base plate with some screws(picture).

I know the picture is quite messy so just to clear everything up, the connections goes as follows:

Arduino pins

Digital pin nr.5 -> signal to Servo 1

nr.6 -> signal to Servo 2

nr.7 -> h-bridge pin.2

nr.8 -> h-bridge pin.7

nr.9 -> h-brigde pin.10

nr.10 -> h-bridge pin.15

5V pin from arduino -> h-bridge pin.1, pin.9

IMPORTANT! Make sure to connect all ground from all things togheter so they share the same gorund (Arduino,H-brigde,Servos,Battery and regulator). This can be done by cut out a small PCB board and connect all ground cabels to that board.

SN754410NE pins

Pin 1 and pin 9 -> 5V arduino

Pin 2 -> Digital pin 7 on Arduino

Pin 3 -> DC Motor 1 +

Pin 4,5,12,13 -> Ground

Pin 6 -> DC Motor 1 -

Pin 7 -> Digital pin 8 on Arduino

Pin 8 -> 12 V battery +

Pin 10 -> Digital pin 9 on Arduino

Pin 11 -> DC Motor 2 +

Pin 14 -> DC Motor 2 -

Pin 15 -> Digital pin 10 on Arduino

The datasheet for SN754410NE can be found here: http://www.ti.com/lit/ds/symlink/sn754410.pdf


Servo 1 signal line -> Digital pin 6 on Arduino

Servo 2 signal line -> Digital pin 7 on Arduino


Connect positive 12v to both Arduino and to the H-bridge pin nr.9 and to the regulator

Datasheet for the regulator can be found here: http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Com...

Step 6: 2nd Arduino: Connecting Flex Sensors, Button, Led

The second Arduino will be mounted on the hand. Simply mounted with some velcrotape, the battery pack is also mounted with velcro tape under the hand.

Everything is hooked up according to my schematic. A button is connected to the arduino to later control if we want to control the robot arm or the motors on the robot. The led will indicate which one we is controlling.

Led on = robot arm mode, Led off = motor mode

Step 7: Code

The coordinator is the one wich will recive all commands from the hand, therefore that code is called "Coordinator".

The router is the one which will send all commands to the coordinator, and therefore that code is namned "Router".

To switch between controlling the motors and the robot arm, the button on the hand is pressed once.

I have tried to comment the main parts in the code.

The commands for driving forward, backward ect. can be programmed differently according to your own choices. Total combinations with four flexsensors is 16, and we only need four. So there is plenty of combinations to choose between.

The commands I used:

Motor commands

Forward: All fingers closed

Backward: Only thumb bent

Left: Thumb and pinky bent

Right: Thumb middle finger and pinky bent.

Robot arm commands

Tilt down: All fingers closed

Tilt up: Only thumb bent

Gripper open: Thumb and pinky bent

Gripper close: Thumb middle finger and pinky bent.

Step 8: Demo

The purpose of pick up a beer was unfortunately not workable. The diameter was too big for the gripper :(



  • Oil Contest

    Oil Contest
  • Creative Misuse Contest

    Creative Misuse Contest
  • Water Contest

    Water Contest

60 Discussions


Question 3 months ago

Hey man the codes you have provided does not turn on my motors. Any suggestions. I checked everything the wires. pins.

Please I want this model which made by you

Please tell me the cost of this model


7 months ago

Please can you show me the connection of the wires with ardoino in the cart I can not understad the diagram

In what mode did you used xbee-S2?

AT or API?

Why use Xbee ?
Can we use any other communication protocol?
Can you suggest any?

Hey man the codes you have provided does not turn on my motors. Any suggestions. I checked everything the wires. pins.

could you write to me the tools you used ?

thank you very much for help:)

1 reply

Every tool I used is listed above :)


1 year ago

hi sir, i have almost same robot car project with you but for wireless comunication i used nrf24l01. Where the rear wheels in the form of a dc motor is controlled with flex sensors and front wheels in the form of a servo motor controlled by the accelerometer sensor. Robot controller with a car connected with nrf24l01. if one of the sensors to control I can. but if it combines both to control I can not. Both sensors transmit data simultaneously . dc motors and servo motors confused receive data so that its movement is chaotic. How should I fix this? can you help me.? Can I send my program to you and you see.? Please. My email: rema_adhe@yahoo.com


2 years ago

Where did you get the plexiplate and what are the sizes you have it cut to?

hi, were are doing the same project but no values are coming in the Arduino

and the motor rotates but little bit then it stops.

1 reply


Sorry for the late reply. If you haven't figured it out yet, try to begin with establish a reliable connection between the arduino and the xbee without any motors connected to the arduino.

You mean you want to buy the the complete robot?

I don't even know what that is actually, sorry...