{"id":445,"date":"2025-11-27T01:25:41","date_gmt":"2025-11-27T01:25:41","guid":{"rendered":"http:\/\/www.amartkh.com\/store\/?p=445"},"modified":"2025-11-27T01:25:43","modified_gmt":"2025-11-27T01:25:43","slug":"diy-arduino-powered-robotic-hand-with-servo-motor-control-full-tutorial","status":"publish","type":"post","link":"http:\/\/www.amartkh.com\/store\/2025\/11\/27\/diy-arduino-powered-robotic-hand-with-servo-motor-control-full-tutorial\/","title":{"rendered":"DIY Arduino-Powered Robotic Hand With Servo Motor Control (Full Tutorial)"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Building a robotic hand is one of the most exciting DIY electronics projects for beginners and hobby makers. This design uses <strong>Arduino UNO<\/strong>, <strong>multiple servo motors<\/strong>, <strong>wooden joints<\/strong>, and <strong>fishing line strings<\/strong> to mimic real human finger movements.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This setup works by attaching strings to each finger segment. When the servo motors pull the strings, the fingers bend\u2014simulating natural hand motion. It\u2019s simple, low-cost, and perfect for learning <strong>mechanics<\/strong>, <strong>robotics<\/strong>, and <strong>Arduino programming<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\ud83e\uddf0 Materials Needed<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Arduino UNO<\/li>\n\n\n\n<li>5\u20136 Micro servo motors (SG90 \/ MG90)<\/li>\n\n\n\n<li>Wooden sticks \/ popsicle sticks for finger joints<\/li>\n\n\n\n<li>Small screws &amp; hinges<\/li>\n\n\n\n<li>Fishing line or nylon string<\/li>\n\n\n\n<li>Breadboard and jumper wires<\/li>\n\n\n\n<li>5V external power supply for servos<\/li>\n\n\n\n<li>Base wooden board<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\ud83d\udee0\ufe0f How It Works<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Each finger is made from several wooden segments connected by metal hinges.<\/li>\n\n\n\n<li>A string runs through the finger and connects to a servo motor at the base.<\/li>\n\n\n\n<li>When the servo rotates, it pulls the string, causing the finger to bend.<\/li>\n\n\n\n<li>Releasing the servo tension lets the finger return to its open position.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">This creates a very realistic robotic hand movement using only simple materials.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\ud83e\uddea Arduino Code (5 Finger Control)<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;Servo.h&gt;\n\nServo thumb;\nServo indexF;\nServo middleF;\nServo ringF;\nServo pinky;\n\nvoid setup() {\n  thumb.attach(3);\n  indexF.attach(5);\n  middleF.attach(6);\n  ringF.attach(9);\n  pinky.attach(10);\n}\n\nvoid loop() {\n  \/\/ Close fingers\n  thumb.write(150);\n  indexF.write(150);\n  middleF.write(150);\n  ringF.write(150);\n  pinky.write(150);\n  delay(1000);\n\n  \/\/ Open fingers\n  thumb.write(20);\n  indexF.write(20);\n  middleF.write(20);\n  ringF.write(20);\n  pinky.write(20);\n  delay(1000);\n\n  \/\/ Wave motion example\n  indexF.write(150); delay(400);\n  indexF.write(20); delay(400);\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u2714\ufe0f You can customize:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Finger speed<\/li>\n\n\n\n<li>Individual finger gestures<\/li>\n\n\n\n<li>Add sensors for automatic motion<\/li>\n\n\n\n<li>Integration with Bluetooth or glove control<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">\u2705 <strong>FULL DETAILED ARDUINO CODE (Robotic Hand \u2013 5 Servos)<\/strong><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;Servo.h&gt;\n\n\/\/ Create servo objects for each finger\nServo thumb;\nServo indexF;\nServo middleF;\nServo ringF;\nServo pinky;\n\n\/\/ Finger angle limits (adjust depending on your hardware)\nint openPos = 20;     \/\/ finger fully open\nint closePos = 150;   \/\/ finger fully closed\n\n\/\/ Motion smoothness (lower = slower)\nint speedDelay = 10; \/\/ 5\u201320 recommended\n\n\/\/ ---------------------------\n\/\/ Smooth movement function\n\/\/ ---------------------------\nvoid moveSmooth(Servo &amp;servo, int startAngle, int endAngle) {\n  if (startAngle &lt; endAngle) {\n    for (int pos = startAngle; pos &lt;= endAngle; pos++) {\n      servo.write(pos);\n      delay(speedDelay);\n    }\n  } else {\n    for (int pos = startAngle; pos &gt;= endAngle; pos--) {\n      servo.write(pos);\n      delay(speedDelay);\n    }\n  }\n}\n\n\/\/ ---------------------------\n\/\/ Finger movement functions\n\/\/ ---------------------------\nvoid fingerOpen(Servo &amp;finger) {\n  int current = finger.read();\n  moveSmooth(finger, current, openPos);\n}\n\nvoid fingerClose(Servo &amp;finger) {\n  int current = finger.read();\n  moveSmooth(finger, current, closePos);\n}\n\n\/\/ ---------------------------\n\/\/ Hand gestures\n\/\/ ---------------------------\n\n\/\/ Close all fingers\nvoid makeFist() {\n  fingerClose(thumb);\n  fingerClose(indexF);\n  fingerClose(middleF);\n  fingerClose(ringF);\n  fingerClose(pinky);\n  delay(500);\n}\n\n\/\/ Open all fingers\nvoid openHand() {\n  fingerOpen(thumb);\n  fingerOpen(indexF);\n  fingerOpen(middleF);\n  fingerOpen(ringF);\n  fingerOpen(pinky);\n  delay(500);\n}\n\n\/\/ Point gesture (index only)\nvoid gesturePoint() {\n  fingerClose(middleF);\n  fingerClose(ringF);\n  fingerClose(pinky);\n  fingerClose(thumb);\n\n  fingerOpen(indexF); \/\/ index pointing\n  delay(800);\n}\n\n\/\/ Wave gesture (index + middle)\nvoid gestureWave() {\n  for (int i = 0; i &lt; 3; i++) {\n    moveSmooth(indexF, openPos, closePos);\n    moveSmooth(middleF, openPos, closePos);\n\n    moveSmooth(indexF, closePos, openPos);\n    moveSmooth(middleF, closePos, openPos);\n  }\n}\n\n\/\/ Thumbs up gesture\nvoid gestureThumbsUp() {\n  fingerOpen(thumb);\n\n  fingerClose(indexF);\n  fingerClose(middleF);\n  fingerClose(ringF);\n  fingerClose(pinky);\n  delay(1000);\n}\n\n\/\/ ---------------------------\n\/\/ INITIAL SETUP\n\/\/ ---------------------------\nvoid setup() {\n  \/\/ Attach each servo to Arduino pins\n  thumb.attach(3);\n  indexF.attach(5);\n  middleF.attach(6);\n  ringF.attach(9);\n  pinky.attach(10);\n\n  \/\/ Start with an open hand\n  openHand();\n}\n\n\/\/ ---------------------------\n\/\/ MAIN LOOP\n\/\/ ---------------------------\nvoid loop() {\n  \/\/ Demonstrate gestures in a sequence\n\n  makeFist();   \n  openHand();   \n\n  gesturePoint();\n  openHand();\n\n  gestureThumbsUp();\n  openHand();\n\n  gestureWave();\n  openHand();\n\n  delay(1000);\n}\n<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">\u2705 <strong>WHAT THIS CODE CAN DO<\/strong><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u2714 Smooth finger bending<br>\u2714 Open hand &amp; make fist<br>\u2714 Human-like gestures<br>\u2714 Independent finger motion<br>\u2714 Easy to expand for sensors\/gloves<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\ud83c\udfaf Final Notes<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This robotic hand is great for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>School projects<\/li>\n\n\n\n<li>Robotics learning<\/li>\n\n\n\n<li>Smart prosthetic experiments<\/li>\n\n\n\n<li>Arduino practice<\/li>\n\n\n\n<li>DIY engineering builds<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Building a robotic hand is one of the most exciting DIY electronics projects for beginners and hobby makers. This design uses Arduino UNO, multiple servo motors, wooden joints, and fishing line strings to mimic real&hellip;<\/p>\n","protected":false},"author":1,"featured_media":446,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-445","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projects"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"http:\/\/www.amartkh.com\/store\/wp-content\/uploads\/2025\/11\/587556383_1385559113580268_6003883806398684639_n.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/www.amartkh.com\/store\/wp-json\/wp\/v2\/posts\/445","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.amartkh.com\/store\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.amartkh.com\/store\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.amartkh.com\/store\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.amartkh.com\/store\/wp-json\/wp\/v2\/comments?post=445"}],"version-history":[{"count":1,"href":"http:\/\/www.amartkh.com\/store\/wp-json\/wp\/v2\/posts\/445\/revisions"}],"predecessor-version":[{"id":447,"href":"http:\/\/www.amartkh.com\/store\/wp-json\/wp\/v2\/posts\/445\/revisions\/447"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.amartkh.com\/store\/wp-json\/wp\/v2\/media\/446"}],"wp:attachment":[{"href":"http:\/\/www.amartkh.com\/store\/wp-json\/wp\/v2\/media?parent=445"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.amartkh.com\/store\/wp-json\/wp\/v2\/categories?post=445"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.amartkh.com\/store\/wp-json\/wp\/v2\/tags?post=445"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}