Ivan the Teambuilt Robot

An e-NABLE robotics project to give hands to those without use of their hands. Designed with your help.

Similar projects worth following
Together we are creating something interesting, useful, and lasting - a robot who's name is Ivan. He needn't be humanoid, in fact he shouldn't be. Ivan will take on multiple physical and mental forms before this project is done. What those are is a function of your input.

We need your knowledge and skills - participate in the comments section to vote and propose new components for Ivan as we develop him.

Ivan needs your help!

If you would like to contribute or follow the conversation, please request to join this project.

Ivan Arm Five

Here is the current Ivan Arm design as of Mon May 22 2017

Zip Archive - 4.95 MB - 05/22/2017 at 21:36


Zip Archive - 27.75 kB - 08/29/2016 at 10:02


Zip Archive - 86.80 kB - 08/29/2016 at 10:02


Zip Archive - 26.84 kB - 08/28/2016 at 14:02


Zip Archive - 21.82 kB - 08/28/2016 at 14:02


View all 19 files

  • 632 Reasons

    Les Hall05/22/2017 at 21:01 0 comments

    632 people are now following this project! I had no idea there was such a following as I have been kind of living in a bubble the past few years. Well it's time to make up for lost time. I'm breathing new life in this project by repurposing Ivan to become an e-NABLE robotic actuator.

    You see, there's a little girl in Boston who has hands but cannot use them. As I wrote elsewhere, my heart goes out to her and I'm planning to make Ivan become Phase 2 of her soon-to-be robotic ensemble.

    Her skin is delicate, which I'm told is one of the realities of the type of injury she has from birth, so body mounted sensors are out for now. That's why I'm using my LEAP Motion Sensor to control a toy MeArm robot as Phase 1. It's a way I can get her something to work with inside of a two-week promised schedule.

    Then it will take a good bit of work to 3D print, assemble, test, and revise Ivan for her use. It brings the joy of happy-tears to me; the fact that the Lord has prepared me to be able to make a difference in someone's life this way. Also others can benefit from our efforts with the magic of volunteering Makers at e-NABLE. Join me in making a big difference in a little person's life. You'll be forever rewarded.

    Les out, praise the Lord

  • Ivan's Design Animations

    Les Hall03/07/2017 at 22:10 4 comments

    Have a look at these fun animations showing Ivan's parts in action. This is the first (nearly) complete design, ready for construction - it just needs some screw holes and some attention to detail on the toolhead. The base is completely ready for construction, can't wait to build it!

    below is Ivan in operation, the complete robot printed in carbon fiber PETG filament.

    I have two detailed animations of the gears working. The first is the planetary gear box in the base:

    The second is a close-up of the hinge gears that work the arm:

    Below is an animation of the Grab-Tor hacked claw:

    It is made of e-NABLE's Raptor Reloaded finger parts, designed by STEM school kids - very imaginative! I arranged the three fingers into a "three jaw chuck", representing the index finger, middle finger, and thumb working together in a human hand.


  • Ivolution!

    Les Hall03/01/2017 at 10:27 0 comments

    I continue to make progress alone, without team input. If you feel so inclined I'd like your opinion on the following Ivolution, or Ivan evolution. When I put the motors in-line recently, I realized that a simplification was possible, due to the fact that I will be using skateboard bearings (608's). The result is the following belt-driven robot arm.

    I find this arm to be way better in terms of performance and simplicity, pritability too. Those segments can be printed as one piece with support on one side which is nice. The rest fit prints without support, though the toolhead needs some touch-up work. Also some belts must be printed or a chain must be printed. I will be working on those details next.

    Still, you can see that Ivan can now reach angles from -60 to + 120 degrees and stays very accurately on the ball!


  • Improved Tracking for Ivan

    Les Hall02/25/2017 at 20:02 0 comments

    Improved the tracking, now it's pretty good.

  • Inverse Kinetatics Approximation (forward kinematics?)

    Les Hall02/25/2017 at 15:51 0 comments

    I could not yet figure out inverse kinematics from the formal math and descriptions I found on the web, plus it looks like some pretty daunting stuff. So I wondered if I could come up with some trig expressions that would approximate inverse kinematics for Ivan's motion. Here we see the result.

    It's just a bunch of miscellaneous trig, and not that much of it really. Given the ball in a randomly selected location in a spherical coordinate shell (radius from 500mm to 700mm), can we position the tool head close to the ball each time? Well, theta is a given - we just rotate the base to the theta position. Then phi and what i called beta are calculated and applied to the three vertical sections.

    The result as you can see works most of the time. If you haven't got the horsepower for inverse kinematics or the brainpower to grok it, these equations may be helpful:

    th_ = rands(-180, 180, 1)[0];

    ph_ = rands(0, 90, 1)[0];

    r_ = rands(500, 700, 1)[0];

    z0 = length - outerDiameter/2 + height + gearHeight/2;


    translate([0, 0, z0])


    rotate([ph_, 0, 0])

    translate([0, 0, r_])


    dx_ = r_ * cos(ph_);

    dy_ = r_ * sin(ph_);

    gamma = atan2(dy_, dx_);

    beta = acos(armLength / (r_/2));

    theta = [







  • Ivan gets PVC Struts

    Les Hall02/25/2017 at 05:27 0 comments

    Here we see the latest Ivan prototype design in a graceful path driven by sinusoidal motion. New changes include PVC struts for strength and ease of printing. These allow the size of the gearboxes to be larger, making the motors smaller by comparison. The result is that we can once again have motors on every joint - no tricks! I will have to look up the inverse kinematics for such a robot and implement them on an arduino controlled by Processing on the MacBook (cross-platform to PC and Linux because it's Processing).

    See that flat plate atop the turntable? It has four PVC pipe interfaces. It along with the pipe will attach to the end of the robot, making it longer and allowing for the attachment of tool heads.


  • Ivan with the Latest

    Les Hall02/23/2017 at 03:30 0 comments

    Here it is

  • Latest Ivan Design

    Les Hall02/22/2017 at 22:05 0 comments

    Latest design here, shows belts, and freely dangling actuator that turn a super-simple KISS two-degrees of freedom design into a somewhat useful robot arm. Plus it's all plastic except for motors, control electronics, and fasteners (of which there are few and few types). Not bad eh?


    p.s. note: dangling actuator not correctly illustrated in angle or end object.

  • Simplify

    Les Hall02/22/2017 at 04:48 0 comments

    So once I moved all the motors to the botton and considered the complexity of delivering all those rotations to the joints, i really had to think twice about it. It just wasn't going to work. Too complex, too prone to failure.

    So I simplified the whole thing immensely. Now it's just two degrees of freedom provided by two direct drive motors. A belt riding on the outside of the two planetary bearings / gear boxes will convey motion from the motor to the next joint. Two end stops located on the base will set the calibrations.

    The robot will not be nearly as capable but it will be much more realistically build able by an amateur like me. Oh, and the actuator will probably be an electromagnet! Bzzzrp!


  • Ivan Arm Maturing...

    Les Hall02/21/2017 at 20:01 0 comments

    Here is the latest design. At radomir's suggestion I moved the motors to the bottom of the robot. The two ways I've thought up so far to move the motor torque up to the joints are belts / chains and odometer cables (or similar). There must be other ways. Can you suggest one?


View all 37 project logs

Enjoy this project?



Les Hall wrote 08/17/2016 at 00:44 point

I'm back from a long hiatus and ready to work on Ivan again!  Who is still around and are you interested in contributing?  

  Are you sure? yes | no

Les Hall wrote 09/20/2015 at 23:01 point

Ivan now spins!  I'll update later, Ivan is taking a break for a little while.

  Are you sure? yes | no

Dan Fruzzetti wrote 09/11/2015 at 17:07 point

Why don't you consider what you could do with counter-balancing masses, like how I had to reconfigure my wife's sewing machine because i was so tired of the whole house rattling?

  Are you sure? yes | no

Les Hall wrote 09/11/2015 at 17:30 point

I thought about your idea, Dan.  Ivan will be screwed into the wooden base at the bottom, so he won't fall over.  I'm not sure Dan, will have to give that some more thought...  

I have begun to think of Ivan as a rotating sensor array lately, for room security purposes and for speech based AI.  This is very different from what was planned only a few days ago.  I guess I'm being rather indecisive about the whole thing for some reason...  

Maybe Ivan can have a battery that powers each segment and counterbalances it?  Trying to think how this would work beyond two segments...

  Are you sure? yes | no

Dan Fruzzetti wrote 09/11/2015 at 19:38 point

That's smart.  Remember, properly counterbalanced segments will require less energy to move and should give you more operating time for a given amount of energy at the expense of a little speed, as far as i can tell

  Are you sure? yes | no

davedarko wrote 09/11/2015 at 07:15 point

I just noticed that whenever you upgrade Ivan, he becomes an iteration of himself. So why don't you call every (major) upgrade like "Ivan the third", "Ivan the fourth" etc. - sounds royal to me and adds personality :)

  Are you sure? yes | no

Les Hall wrote 09/11/2015 at 12:54 point

Hi Dave, I didn't realize I was doing that.  How about we do both starting with this Ivan?  Like this would be "Ivan the First - Iterations".

  Are you sure? yes | no

hydroMazing wrote 09/10/2015 at 22:24 point

Very Cool Stuff!!

  Are you sure? yes | no

Les Hall wrote 09/11/2015 at 00:23 point

ty ty! :)

  Are you sure? yes | no

Les Hall wrote 09/11/2015 at 00:23 point

ty ty! :)

  Are you sure? yes | no

Les Hall wrote 09/10/2015 at 08:20 point

Ivan's new OpenSCAD file is now available here: on YouMagine.

  Are you sure? yes | no

Les Hall wrote 09/08/2015 at 11:26 point

Ivan is now animated as a GIF.  Next up I need to figure out the screw holes and the wire harness, bringing 12 wires back to the Arduino board with motor drivers and sensors, then after a design review of peers, it's time to build Ivan!  Hopefully I can get to printing parts before the end of the week...

  Are you sure? yes | no

Les Hall wrote 09/06/2015 at 20:57 point

I moved Ivan's files to YouMagine, see link in project.  Also:  should we make Ivan into one of these thingies:

  Are you sure? yes | no

Les Hall wrote 09/01/2015 at 07:51 point

Ivan's files are now available at here:

The download is free but they do show you advertisements.  I may receive some revenue from the advertisements which we can spend on parts for Ivan I suppose.  

  Are you sure? yes | no

Les Hall wrote 08/28/2015 at 23:27 point

I spoke to someone with some experience in robotics and he really shot down my design.  even the printing of it was not optimal for reasons that he explained.  Oh well, I like to receive constructive criticism and I'm no expert in mechanicals.  Cover shot now is the planetary gear set that I designed and printed out, just for touchy-feelies and thinking out loud.  Any comments?

  Are you sure? yes | no

Les Hall wrote 08/27/2015 at 22:32 point

OK I have posted a blue and red drawing of one segment of the robot.  The motor with shaft is in red, while the 3D printed part is in blue and oriented for printing.  It is designed for printability and for each segment to have a 90 degree angle.  So it's kind of a snake-like thing.  Wiring has yet to be determined.  

  Are you sure? yes | no

Ivan Lazarevic wrote 08/27/2015 at 18:29 point
Nice name for a robot : )

  Are you sure? yes | no

Les Hall wrote 08/27/2015 at 18:38 point

Your mechanical likeness in some ways, I suppose Ivan!  :)

  Are you sure? yes | no

Les Hall wrote 08/27/2015 at 05:32 point

I just had an idea for this project and for robotics in general.  I was looking at all these robot arms and what they do is they have a rotating base and then orthogonal joints.  Or they may have alternating rotating and orthogonal joints.  What I'd like to do is have each section be the same as all the others.  So it occurred to me, why not have each stage be on a 45 degree angle?  Or for that matter any angle?  I dunno if the control trig would be a nightmare for that or not, but the design becomes pure simplicity.  Every stage is identical in the arm itself, including the base stage.

  Are you sure? yes | no

davedarko wrote 08/27/2015 at 08:18 point

I think I need a sketch at this point :)

  Are you sure? yes | no

Les Hall wrote 08/27/2015 at 09:06 point

I'll make an OpenSCAD drawing of it today.  Right now I've been printing elequa lids (for the water treatment company I'm working with in another life lol).  I'll post when the drawing is ready, davedarko.  

  Are you sure? yes | no

Les Hall wrote 08/27/2015 at 04:32 point

Then for Ivan's programming I'll suggest we drive the motors with a purchased or custom shield on the Arduino and use the um what's it called...  Firmata program to turn the Arduino into a puppet of Processing on the Mac.  Then the arm can live near the Mac and do things near it.  This way of doing things is a natural for me and it's easy to do also.  

If there are no objections, let's go this route.  We can always change it later.  

  Are you sure? yes | no

Les Hall wrote 08/27/2015 at 04:28 point

Alright, unless otherwise stated, Ivan is a robot arm.  One of the 1.7A steppers is being difficult as I do not know how to remove the gear, so let's say we have four 1.7A and two 350mA.  We could build a four-segment robot arm with the 1.7A motors and use the 350mA motors for spinning and actuating the jaws of Ivan's hand.  I kind of like the idea of Ivan not having too strong of a grip if you know what I mean.  

  Are you sure? yes | no

Richard Hogben wrote 08/26/2015 at 23:33 point

  Are you sure? yes | no

davedarko wrote 08/26/2015 at 23:48 point

I saw what you did there. And got it later :)

  Are you sure? yes | no

Les Hall wrote 08/27/2015 at 00:09 point

Got a 404 on that link.  Check please?

  Are you sure? yes | no

Les Hall wrote 08/27/2015 at 05:33 point

Oh, funny.  Nyuck Nyuck!

  Are you sure? yes | no

Les Hall wrote 08/26/2015 at 23:28 point

I'll add the components list now.  

  Are you sure? yes | no

frankstripod wrote 08/26/2015 at 22:57 point

Really good to see you hacking here again Les!!! :D

  Are you sure? yes | no

frankstripod wrote 08/26/2015 at 22:59 point

We are going to need a components list here.

  Are you sure? yes | no

Les Hall wrote 08/26/2015 at 23:29 point

I agree and will do so tonight!

  Are you sure? yes | no

Les Hall wrote 08/26/2015 at 23:28 point

Thanks so much, frankstripod, good to be back!

  Are you sure? yes | no

davedarko wrote 08/26/2015 at 20:22 point

he could be a third hand for work, like the robots in Iron Man? Helping out with soldering and putting out fires?

  Are you sure? yes | no

Les Hall wrote 08/26/2015 at 23:30 point

I'm all for that.  It means that Ivan will be a robot arm fixed to the desk.  That's a lot easier than something mobile, especially for me since I'm somewhat inactive spending much of my time in a wheelchair due to weight and heart issues.  Good plan davedarko!  Let's go with it!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates