Assembly of the “Finger Starter”

Here is the list of parts and the number of prints needed for 1 Finger Starter:

  • 1x FingerIndex
  • 1x FingerTester
  • 1x RobRing
  • 1x Servo-Pulley

This is going to be interesting!!
We are going to assemble a finger to a small servo for testing it with an Arduino board. The servo I used on the pictures is a digital HK15298 but you can use also a cheap analog MG995 or even cheaper if you find and if the size specifications are the same.
The Arduino board used here is a Arduino Uno. It is best to add an external power supply because even if these servos are small they draw too much current which will or might reboot your board.
At the end of this tuto, there is also a picture that illustrate how to simply connect your servo to the board.
REMEMBER: this connection set up can only power a single servo with low Amps drawing, if your board resets itself, or if the servo jitters, it means your servo is to high power consumption for the power pin. You will need an external power supply.

For connections and power supply you can see HERE. These connections drawing are mainly for the whole hand, but it is the same for one servo/finger or for five.

The pulling rods I use on this tuto is a fishing nylon, but it is not what works the best because it tends to stretch overtime. I recommand for InMoov, fishing braid 200LB. But for this test you can use anything you have at hand as long as it can pull and is thin enough to let the finger curl.

Now let see what we have printed and how we are going to do that.

Redrill the sides hinges holes with a 3mm drill.
The inside hinges holes should be redrilled with a 3.5mm drill.
So the inside hinges of the finger should also be done with a 3.5mm drill.
Note the finger parts have numbers printed for a easier assembly.
Depending on the material you have used to print there is different ways to glue the parts together.
If you have PLA prints, a two components epoxy glue is really good but you can also use Zap-A-Gap glue.
If you have printed in ABS, what works best, is Acetone but you can use epoxy, Zap-A-Gap glue.

Applying few drops of acetone will link disolve the parts together like it was printed in one piece. So take part 1 and part 2 and glue them together.

Glue together part 3 and 4.

Don’t glue yet parts 5 and 6

Take a piece of your 3mm filament, if you don’t have that you will need to get some screws of 3mm at your hardware shop.

Get it trimmed with a cutter knife.

Push it in the hole, assembling part 1/2 to 3/4 together.

Once it reaches the other side,

cut the filament with pliers.

Do the same trick with parts 3/4 to 5

Now we have a finger that should move freely.

Assemble the finger to the main part with the same technique.

You should have something like this. It should be able to freely fold to this angle.

Now lets see the servo. We are going to find an arbitrary zero point on the servo. Turn by hand the actuator to the maximum left, note until where it goes. Do the same to the left and note until where it went. These two points are the extremes positions of your servo, in the middle of these two points decide where is the arbitrary zero point. You can find that with your arduino board if you know how to do it, but this is a simple solution for now even though it isn’t precise.

Mount, Screw the “RobRing” on your servo, the two little holes should be on your extreme points.

Take a piece of rod of about 50cm long. Run your rod through one hole.

Make two knots at approximatly 25cm of your rod, like this. make them well tight.

Add another set of knots about a 1cm away from the first set.
On my picture I did only two knots like this, but they might run through the hole of “RobRing” and that shouldn’t happen. Adding a bunch of knots will help to avoid that.

Now run the other end of the rod through the second hole.

You should have something like this, with even more knots than me.

Time to fix the servo to the base.

Run the bottom rod through the parts like on the following pictures.

Just make sure not to invert your rod, it should always on the back of the finger.

Now run the second rod on the inside of the finger.

You should end up like this.

Check your servo is at his zero arbitrary point.

Curl a little bit the finger and make a few knots between the two wires.

When turning “RobRing” by hand you should be able to get the finger in this position. Finger totally stretched.

Now cut the rods.

Glue part 6 to 5. If you look close at part 6, there is a nail side, and I haven’t put the number on the nail for aesthetic reasons.

Try to move the finger by rotating “RobRing”, it should move freely without locking.

Insert the Arduino board and make a wire connection like this. Orange or yellow to pin3 on PWM. Red on +5V. Black or brown on Gnd (ground).

REMEMBER: this connection set up can only power a single servo with low Amps drawing, if your board resets itself, or if the servo jitters, it means your servo is to high power consumption for the power pin. You will need an external power supply. (see at the beginning of this tuto)

You can now upload this FingerStarter sketch to your Arduino to see it move. If you have never used Arduino before. Follow this link or use this introduction pdf.

You also can get to MyRobotLab and start learning about how to actuate the finger with a slider. Follow this tutorial to get started with Myrobotlab. Things have changed a bit since I wrote it but it helps to understand the basics.
Here is a script to voice control the FingerStarter with MyRobotLab:
If you have some muscle sensors or some ultra sound sensors you can try controlling the Finger Starter with them.

Comments 118

  1. Hi, I’m trying to make starter kit. But “RobRing” is trouble.
    I can’t mount RobRing on my servo. Hole size is not match with servo gear.
    My servo is HK15298.
    I’ll try modify “RobRing”.

    Anyway your project is very interesting to me.
    I’ll make InMoov by myself.
    Thank you.

      • Hi Gael,

        I have the same problem with the RobringV1 not fitting onto the HK15298 servo, I have done a few of calibrations before printing, are there any ways to perfectly calibrate the printer? Currently I’m trying to do the finger starter , but struggling with this first bit…

        Thank you for your help, your inventions are awesome.
        Kind Regards,
        Roger

        • Hello,
          You can heat up the inside of the robring with the flame of a lighter, until the plastic soften and then apply with force onto the HK15298B to make a perfect fit.
          Make sure to push it straight, otherwise you will needt to re-soften the part again

          • Hi Gael,

            Thank you for your reply assistance, I managed to make it fit but with the servo pulley part instead of the robring, and screwing the original round ring that came with the servo following how you did in the video above. Thanks again, will let you know if I run into other issues.

            Kind Regards,
            Roger

      • hello gael hiii firstly conguralations for you nice work inmoov i want to make this as a school project firstly i want to ask certain question they are
        *in which coding language the codes for inmoov is written because i want to learn that coding so that it will nice making that .
        *in harware section you have written abandoned section what is that and in which section you have shown working on that.
        *can i use two battery for both Nervo board differently?
        *is both Nervo board are connected to each other if yes how and how to run both together at a time from my Robotlab.
        thanks sorry for bad English

        • Hello,
          InMoov uses three languages of coding, depending on the level of the usage.
          Arduino code: for basic movements (eg: the fingers)
          Python code: for movements and talking when creating gestures for the robot.
          Java code: for to create services in MyRobotLab software for InMoov.
          We also use a fourth language called: AIML, this is for to code the chatbot.

          The abandoned section is related to using Raspi and Odroid to control the robot. Both are too slow to perform well on the robot.

          You can use one battery to power both Nervo Boards at the same time. To do so you need to make a connection between the two Nervo Boards with some XT60 connectors.
          Connection between two NervoBoards

    • Hello gael sorry for disturbing but i mean to say that you have made this project so this is invention for you but what if we copy your project can we learn something by copying this project and making can it give some benefits like learning something in studies or just like fun

      • Hello,
        When building InMoov you will learn through the process all of what you don’t already know.
        I have developped InMoov mainly for students and education, because the project approach many aspects.
        In short what you will learn: 3D printing, engineering, electricity and programming.
        Searching parts to buy, like the servo, is also part of the learning process.
        You need to think DIY, when approaching this project!

      • PIR sensor is placed in the chest and connected to the Left Nervo Board via PIN 23 by default. See PIR connection on the Nervo board tutorial.
        The PIR sensor allows the robot to go to sleep if no human is detected. If a human is detected the robot wakes up and gets activated.

  2. Hi, Thanks for the amazing work you have done! I have two Makerbot printers a replicator 2 and a Makerbot Replicator Gen 5. I have been very interested in Robotics and have purchased a bunch of Arduino stuff from Banggood and I bought my servos from Hobby King HK15298B.

    I have built the Finger starter kit and I am trying to hook it up with a Adruino Uno. First I tried your starter sketch with the latest Arduino. It compiles and I can upload it successfully but it does not execute. I then tried your My Robot Lab (using the latest version) and everything seems to go according to plan but the Arduino does not respond although I can see the voice commands are executing.

    I am new to Adruino and I am lost on what to do next. Any recommendations will be greatly apreciated

  3. I am planing on building an Inmoov starting with the finger to test but am having trouble printing the set of 6. Would it be possible for someone to split the file into six parts and upload a folder to thingiverse with each piece as its own STL file?

  4. I have tried controlling my finger- starter by voice. I could make it opened or closed but i couldn’t hear any sounds from my computer like this ” did you said …” . I use MRL 1.0.119 , Chrome is my default browser . Can you help me please !!

  5. Hello i am excited to join this fantastic project…i have one small contribution…when joining the finger joints I just used a piece of PLA (size doesn’t matter…so she said) and pushed it through about one quarter inch and used a soldering iron to melt the end ..it resulted in kind of a rivet…then clipped the other end about one quarter inch and did the same…seems like a nice working finger

  6. Hi, I’m currently trying to build this robot hand. But I actually started off with the finger starter kit first. I lost the file for RobRingV1, as I’m using generic servos and it woudn’t fit with the updated RobRingV2. Hence, was wondering if you still have the STL file for RobRingV1? 🙂 Thanks so much! Please update me ASAP. It’s for one my projects.

  7. Hi, this is an amazing project Gael.

    Id like to build my own InMoov, it seems an excellent base for learning more about robotics. With it being open source, am I able to adapt the files to develop my own look to it without copying it exactly, a female looking InMoov for example?.

    Regards,

    Iain

  8. Hello Gaël,

    I’m very exited to start this project too, I downloaded yesterday all the stl of your website to be able to build my own Inmoov Robot. There is lots of technical interest, first is using my 3D Printer Solidoodle 3, second is using arduino, I bought a starter kit few month ago with lots of items , sensor, keyboard, screen but I never used it, this project has a very good documentation and it is a pleasure to learn it, third is to build a robot who looks like a human body, to many robots look like toys :-/ I think that this story will be fun ! 🙂

    Congratulations for all the work you have done and for the work which is coming !

    PS : It’s cool that it was un français qui ai lance ce projet (je suis français aussi du 91 ^^)

      • Thanks – Gael

        I am unable to find 180 degree rotational servo supplied by HobbyKing HK15298 or HK15298B

        But I was able to find this. Will these specs work for the 180 degree rotational servo?

        Specs:
        Operating voltage range: 4.5v~6v
        Operating temperature range: -20°~60°
        Operating speed: 0.11sec/60° 4.8v – 0.10sec/60° 6v
        Torque: 2.0kg.cm 4.8v – 2.2kg.cm 6v
        Arm travel range: 180° ( 90°/one side pulse traveling 600usec)
        Idle current: 5mA at stopped
        Running current range: 50~150mA
        Locked rotor range: 600 mA
        Dead band width: ≤4usec
        Angle deviation center: <0.5°
        Size: 22.7×12×26.4mm
        Weight: 12.5g
        Bearing material: metal
        Gear material: metal
        Connector wire length: 21cm

        • Hello,
          The servo you have selected have a very low torque power, only 2,2kg when the hk15298B does 21kg.
          I would recommend something stronger.
          Have a look in the Hardware and BOM list to see other possible servos:
          http://inmoov.fr/default-hardware-map/

          TGY-5521MDHV (24kg torque, should fit)
          JX PDI-6221MG(20-36kg torque, should fit)
          RS-550MGC-HV (11.2kg torque, should fit)
          HS-311 (3.5kg torque, should fit)
          XQ-S4020D (21.5kg torque, should fit)

          • Thanks – Gael

            I have begun printing the parts for the Inmoov robot. I am very excited to do this project. I don’t have much electrical experience, so this area is new to me.
            I started printing the parts starting from the head working my way downwards. Is this a good approach? I would then tackle the electronics. Perhaps you may have suggestions?
            Thanks Gael for all your help! This is an awesome project, I hope I am successful at completing the mission. I may overwhelm you with all my electrical questions, however I will make my part purchases thru the website to help support the mission. I’ve already helped with the purchase of a Inmoov t-shirt 🙂 Will this project be easy for a non electrical person?

  9. I have built the Finger starter kit and I am trying to hook it up with a Adruino Uno. First I tried your starter sketch with the latest Arduino. It compiles and I can upload it successfully but it does not execute. I then tried your My Robot Lab (using the latest version) and everything seems to go according to plan but the Arduino does not respond although I can see the voice commands are executing. I am new to Adruino and I am lost on what to do next. Any help wopld be very nice thanks.
    John

  10. Bonjour;
    J’ai utilisé un servo-moteur qui tourne à 360° au lieu de 180°, et lorsque je lance le programme pour que le doigt s’ouvre ou se ferme, il continue de tourner sans se bloquer, de plus il ne trouve pas son milieu lorsque qu’on lui dit “finger To the middel”.
    Avez-vous une solution à mon problème ?
    Merci.

    Hello;
    I used a servo motor that rotates 360 ° instead of 180 °, and when I dish the program so that the finger opens or closes, it keeps turn without getting stuck, moreover it does not find his middle when he is told “finger to the middel”.
    Do you have a solution to my problem?
    Thank you.

  11. Hello Gaël, amazing project, CHAPEAU!!!

    I just watched the video for the finger and I am wondering why you used 2 pieces of strings for the tendons and then did a knot with them… wouldn’t it be easier to just use 1 long string and avoid the risk of a bad knot?

    Thanks!

    • Hello,
      Thanks for your comment.
      Aah old video and tutorial, the knot was to give the opportunity for the builder to be able to adjust the tension given on each line. traction and extension. At the servo wheel or at the tip of the finger.
      Now I have two other methods, which is a screw holding the tendon which makes it better to adjust. Or one line that clips at the tip of the finger.
      Unfortunately, I haven’t uploaded the stl yet for the second method.

  12. Hello ,
    I attach the finger and I want to test it , I used this python code (InMoov.minimalFingerStarter.py / https://goo.gl/An9PJ9) as is put it above ,
    but is not running because there is an error ,
    (
    ——Traceback (most recent call last): File string, line 50,
    in moduleAttributeError: org.myrobotlab.service.InMoovHand object has no attribute setAutoEnable
    at org.python.core.Py.AttributeError(Py.java:205)
    at org.python.core.PyObject.noAttributeError(PyObject.java:1013)
    at org.python.core.PyObject.__getattr__(PyObject.java:1008)
    at org.python.pycode._pyx5.f$0(string:84)
    at org.python.pycode._pyx5.call_function(string)

    at org.python.core.PyTableCode.call(PyTableCode.java:167)
    at org.python.core.PyCode.call(PyCode.java:18)
    at org.python.core.Py.runCode(Py.java:1386)
    at org.python.core.Py.exec(Py.java:1430)
    at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:267)
    at org.myrobotlab.service.Python$PIThread.run(Python.java:160)—— )

    please can someone tell me how to fix this error , it’s my first time that I use python
    thnx

      • Hello Geal ,Thank you very much ,
        I tryed to make it comment and also I add (Arduino.connect(“COM8”))
        there is no syntax error but still there is no responding ,
        when I tryed to move the finger from the servo it’s move
        but when I want to open it or close it by the speech there is no responding
        I’m sorry , because I’m annoying you by my maybe stupid question , but I’m still a student , I have to learn by my self , it’s my first time that I work something like this , it’s awesome , I don’t want to just give up and don’t complete , so sorry maybe I will ask too much
        thanks

  13. Hi Gael,

    I saw your finger starter video up the top, it is awesome! Question is the red strings you used for the finger (tendons), it seems thick, what material are they and the size please? They look very strong, and also what kind/type of portable power pack/source is recommended to power up the whole Inmoov robot? Or do I have to separate buy them…

    Thank you for your generous help!
    Kind Regards
    Roger

  14. After checking all the InMoov Robot design parts I found that the total filaments weight needed is about 10,243 g ( 10.243 kg) ,
    The number of parts are 320 parts.
    Average printing time needed = 82968.3 minutes =1382.8 hours = 57.62 days

    I heard that someone made a smaller InMoov child size uses less filaments and smaller cheaper servos.
    Do you know where I can find the link for this design?!
    Thank you in advance

Leave a Reply