Introduction: ASL Robotic Hand (Left)

About: RoboFlex is a Senior Design Group for The Citadel's Mechanical Engineering Department. Our mission is to design and code a robotic left arm that can carry out most of the sign language alphabet when commanded.

The project this semester was to create a 3-D printed
robotic left hand that is capable of demonstrating American Sign Language alphabet for deaf and hearing impaired people in a classroom setting. The accessibility to demonstrate American Sign Language in a classroom setting without having an interpreter present will make life easier for the student as well as the university or institution. The solution being presented will help bridge the gap between the hearing and the hearing impaired in a much more efficient manner. Sign language is gestures that communicate languages through the use of hand movements. Studies show a trend of increased necessity for sign language interpretation. Within the next five years the demand for sign language interpreters is expected to increase by 20%. Our group’s product will save time, money, and benefit schools by providing the accessibility of having an interpreter present at all times.


  • Motor- MG996R (5x)
  • Superglue-Pacer Technology (Zap) Zap-A-Gap Adhesives
  • Arduino Uno
  • Cable- Trilene 20lb 650yd
  • Extech Instruments DC Regulated Power Supply
  • Filament-PLA filament (3D Printer)
  • 3D Printer
  • Motor Driver-12-Bit PWM Servo Motor Driver
  • 1.4mm., 2.0mm., 3.0mm., 4.0mm. Phillip's head screwdriver

Step 1: Finger Assembly

Step 1a) Send parts to 3-D printer to start the process.

Step 1b) Once your fingers are printed out, make sure to keep each individual finger separate from the next to avoid mixing pieces together. In order to effectively assemble each finger, label all six components from largest to smallest with numbers 1 through 6.

Step 1c) Next, using Krazy glue or any other strong adhesive, glue components 2 and 3 together ensuring that they are facing the same direction. Each component has a rectangle indentation intended to help align the components when they are being glued together. Repeat this step and glue together parts 4 and 5.

Step 1d) After the glue has dried begin connecting the components using a piece of 3mm filament. However, if you don’t have the filament you will need to get some 3mm screws available from any local hardware shop. Note: You may have to file down the 3D Printed material at points where they connect to each other to insure fluid movement between joints.

Step 2: Hand Assembly

Step 2a) Once each finger is assembled you will then attach the thumb. Do this by taking the assembled thumb and connect it to part Left Wrist Large and using the small 3D printed bolt entretoise.

Step 2b) Then you will attach the index and middle fingers using the same 3mm filament used for the other joints. Once you have completed attaching the index and middle fingers, the ring and pinky finger will attach in the same fashion as the thumb.

Note: Using the same 3D printed bolt entretoise to connect the fingers to the Left Wrist Large housing.

Step 3: Thread Cable

Step 3a) After assembling each finger. Start threading the cable through the wrist (noting there are three holes on the bottom) using the top hole to begin and continue through the palm of the hand till you reach the top of the finger.

Note: Ensure enough cable has been threaded through to the top of the finger to re-thread back through the second hole at the top of the finger.

Step 3b) Tie the cable in the middle into a knot and then apply electrical tape to the knot to prevent the cable from winding through the hand.

Step 3c) Once that is complete, thread the line back through the second hole at the tip of the finger (not the finger tip, that will serve as the cap once the threading of the cable is complete) and proceed to thread the line through the posterior side of the hand ending the line on the third hole of the wrist leaving the middle hole open.

Step 4: Forearm Assembly

Step 4a) During the process of assembling the forearm, using the parts robpart1 and robpart2 creating the outer shell of the forearm by super gluing the two pieces together.

Step 4b) Once the super glue has dried, then attach the servo bed to the forearm base.

Note: Make sure wait until the two pieces are completely dried before attaching any other component.

Step 4c) Assemble the forearm by attaching the wrist to the forearm. The wrist consists of three parts which need to be glued together. Once you have secured the seam of the wrist you will then glue down the wrist connector to the wrist base.

Step 5: Install Motors

Step 5a) Once you are ready to install the motors, you will need five servo motors and four screws for each motor (screws are provided with the motors).

Note: When ordering the servo motors look for the metal geared servo motors for better performance.

Step 5b) Three motors are facing one direction and the other two in the opposite direction to insure the motors fit correctly with the cable fitting in the correct port.

Step 5c) Once the motors are installed on the servo bed, you then will need to print out the rob cable front, and the rob cable back part and screw those onto the servo bed.

Step 6: Attach Hand to Wrist

Note: Understand that all of the lines on the wrist mall are divided into two sections, first section is the top row, and the second section is the bottom row of the wrist mall.

Step 6a) When attaching the hand to the wrist using a bolt you need to make sure that the lines coming out of the top row of the wrist mall go over the bolt, and the line on the bottom row of the wrist mall gets fed under the bolt.

Step 6b) Once that is complete, lock the bolt into placing using a 3 cm long locking nut. Carefully, making sure to not twist any of the lines, feed the lines through RobWrist parts 1 through 4 until the lines are resting down the forearm and are ready to be attached to the servo motors.

Step 7: Attach Lines to Servo Motors

Step 7a) Once the servo motors are glued or screwed into the bed, you can glue the 3D printed rob_ring to the servo pulley that is included with the purchase of the servo motor.

Step 7b) Next, glue the servo pulley on the servo motor shaft. Before you attach the line to the servo motors, using your arduino script, set all of your servo motors to ninety degrees.

Step 7c) After all five servo pulleys are fixed, set all servos to zero degrees using the code on your computer.

Note: Code attached in step 9. At this point avoid moving the motors or else you will need to reset them once the line is attached.

Step 7d) As the motors are now set in place, when attaching each individual finger to its independent servo motor, make sure you grab both ends of the line and feed them through the separate holes of the servo pulley and tighten them so that there is tension causing the finger to be flexed in the extended position.

Step 7e) Once the finger is fully extended and there is no excess line between the finger and the servo motor, tie a square knot connecting the lines over each individual servo pulley.

Optional: In order to prevent future slipping using super glue or any other adhesive, you can glue the square knot to the servo pulley itself. Repeat this procedure for each individual finger.

Step 8: Wiring and Power

Step 8a) Attach your Adafruit Servo Driver to your Arduino Uno.

Note: You may have to solder the pins onto the servo driver.

Step 8b) Attach your fingers to the servo driver in the following order.

Thumb = Channel 0

Index = Channel 1

Middle = Channel 2

Ring = Channel 3

Pinkie = Channel 4

Step 8c) Find the port to attach your power supply. Plug the + wire into the right side and the - wire into the left side

Note: The top right image demonstrates the layout of the channels. The bottom right image demonstrates the connection to the power source ( green = + and yellow = - ).

Step 9: Code Setup

Step 9a) Download library Adafruit_PWMServoDriver.h from the Adafruit website.

Step 9b) Include libraries Adafruit_PWMServoDriver.h and Wire.h

Note: Wire.h is built into the arduino software.

Step 9c) See code file attached.

Step 9d) Define min, max, and default pulse width as well as frequency for your specific servo motors.

Note: Step 9d not necessary if using TowerPro mg996r robotics servo motors.