OpenTorque Actuator

A powerful, compliant actuator for legged robotics

Similar projects worth following
OpenTorque is an open-source implementation of the quasi-direct-drive actuation scheme pioneered by the MIT Biomimetics lab. The basic premise is this: use the largest possible motor with the smallest possible gear reduction. This results in an actuator that is robust, highly backdrivable, and capable of proprioceptive force sensing and open-loop impedance control. These are all ideal attributes for building legged robots.

OpenTorque uses a large-diameter brushless quadcopter motor, a 3D-printed planetary gearbox, and the awesome ODrive motor driver ( for control. 


  • Peak torque (theoretical): 56 Nm
  • Continuous torque (measured): 28 Nm
  • Weight: 1.2 kg
  • Gear ratio: 6:1
  • Cooling: Air-cooled
  • Cost: Approx. $150

This project was inspired by the following:

Gearbox Assembly Helical v10.step

STEP file containing all the parts

step - 4.11 MB - 06/30/2018 at 22:33


View all 12 components

  • Thermal Testing

    Gabrael Levine07/25/2018 at 07:54 1 comment

    I tested the thermal performance at 30A, 60A, and 100A. This was done by setting the calibration current to the desired level, then disconnecting the encoder and having the motor search for the index pulse. This results in the heat being evenly distributed among the 3 phases, as described here: I collected data from a thermistor epoxied into the motor windings, and the built-in thermistor on the ODrive board. 


    • The motor cooling works quite well. Three minutes of sustained 60A current caused a temperature rise of less than 20 degrees. 
    • The FETs on the ODrive board heat up quickly. Currently I'm just cooling the board with a desk fan, so I'll have to design a more sophisticated cooling solution. 

  • Bipedal Robot Concept

    Gabrael Levine07/04/2018 at 04:11 0 comments

    I'm building a bipedal robot inspired by Agility Robotics' Cassie. It uses 10 OpenTorque actuators. 

    These actuators are backdrivable and able to absorb kinetic energy during the walk cycle. As a result of this, there's no need for the complex series-elastic linkages present in Cassie. Instead, each leg consists of a simple parallelogram linkage with an extra joint at the ankle. 

    Carbon fiber tubes are used for the linkages in order to keep inertia as low as possible. The total weight is in the ballpark of 30 pounds -- substantially lower than the 60-70 pounds that Cassie weighs. This is helped by the use of 3d-printed plastic rather than CNC aluminum parts. (All the structural parts will be printed out of NylonX.)

    To control this robot, I'm going to use reinforcement learning. I'll create an OpenAI training environment with a simulation of the robot, then let the controller learn a stable walking gait on its own. This is a lot easier than programming a walking gait by hand, and it's already been done successfully on the Minitaur robot. 

View all 2 project logs

  • 1
    Print the parts
    • Use 50% infill and a wall thickness of at least 1.2 mm. 
    • Nylon is the recommended material for the sun and planet gears. I used Taulman Alloy 910. 
    • Print the planet gears on rafts to ensure the first layer comes out perfectly flat. Otherwise you can run into issues with the gears meshing. 
    • All the parts are designed to print without supports. 
  • 2
    Install the threaded inserts

    Printed parts:

    • Ring Gear
    • Planet Carrier Front

    Non-printed parts:

    • 21x M3 threaded inserts


    1. Place the inserts in the holes (marked in red) and set them in place with a soldering iron. 
  • 3
    Assemble the planet carrier

    Printed parts:

    • Planet Carrier Front
    • Planet Carrier Back
    • 3x Planet Gears

    Non-printed parts:

    • 3x M3 14mm countersunk screws
    • 3x 5x40mm steel dowel pins
    • 6x F625ZZ bearings


    1. Insert the F625ZZ bearings into the Planet Gears. Use two bearings per gear, one bearing goes on each side of the gear. 
    2. Insert the 3 dowel pins into the 5mm holes on the Planet Carrier Front.
    3. Slide the planet gears onto the dowel pins. (depicted on the left)
    4. Place the Planet Carrier Back on (depicted on the right), and secure it in place with three M3 14mm countersunk screws. 

View all 7 instructions

Enjoy this project?



Bruno Alfirević wrote 5 days ago point

Hey Gabrael, thanks for the great project! 

Regarding your comment about using cross-roller bearing to make the gearbox more compact - are those simply thinner or will you also be changing the design in a significant way?

  Are you sure? yes | no

Charles wrote 10/30/2018 at 04:19 point

could this possibly be thinned, so it is not as thick, and would fit better into exoskeletons?

  Are you sure? yes | no

Gabrael Levine wrote 10/30/2018 at 05:08 point

Yes, with steel gears. Hardened steel gears would be much thinner than plastic gears for the same load rating. They'd be heavier and add about $100 to the cost of each actuator, but if you want maximum compactness it would make sense to use them. 

  Are you sure? yes | no

Charles wrote 11/03/2018 at 00:25 point

How thin could it get, from the back to a half inch shaft extending from it?

  Are you sure? yes | no

Gabrael Levine wrote 11/03/2018 at 03:05 point

10 to 15mm thinner, depending on which gears you choose. The next version of the actuator will incorporate a cross-roller bearing, which will reduce the thickness by 10mm. 

  Are you sure? yes | no

anton.fosselius wrote 09/21/2018 at 06:22 point

This looks really awesome, this is exactly what i have wanted to do since i first saw Atrias and then Cassie. My only concern is the actuators on the knees, i know there is where the highest load are and it's very convenient to put the actuator directly on the joint. But this will have a BIG impact on the acceleration of the legs, more mass will have a big negative impact on how fast the legs can move from A to B. Have you tried to figure out a mechanical linkage to put the actuator for the knee at the hip level or at least as far from the feet as possible?

To quote Colin Chapman, if you want more speed  "Simplify, then add lightness”.

  Are you sure? yes | no

Gabrael Levine wrote 09/21/2018 at 06:57 point

The actuator on the knee isn’t for the knee, it’s connected to the ankle with a linkage. The torque requirements for the ankle are actually quite small (0 torque when the foot is on the ground), so it will be possible to use a much smaller motor there. 

The ankle actuator for the final design will either be a direct-drive 9235 motor (no gear reduction) or a 5008 motor with a 4:1 reduction.

  Are you sure? yes | no

anton.fosselius wrote 09/21/2018 at 07:17 point

Ok, great! also, just noted that i made the comment in the wrong project, sorry.
This is what we are discussing:

This image:

Now i see that its quite obvious that it is the ankle actuator that is placed on the knee.

  Are you sure? yes | no

Robin Fröjd wrote 08/09/2018 at 22:07 point

Very nice! I just order the motor so I can build one! :-) thanks for sharing!

  Are you sure? yes | no

David Shelenev wrote 07/20/2018 at 22:43 point

Hi Gabrael, your progress video seems really promising. I wanted to ask you, have you noticed any wear on the gears, or worsened backlash over time? I want to integrate your design into my robot arm project... I'm still tossing up whether to use a cycloidal direct drive design, or the OpenTorque actuator with a belt drive to the joint.

  Are you sure? yes | no

Gabrael Levine wrote 07/22/2018 at 00:42 point

I haven't noticed any wear or increased backlash on the gears. Just make sure to use nylon and not ABS. 

  Are you sure? yes | no

nick wrote 07/16/2018 at 12:23 point

this looks to have real potential, cant wait to see how it develops!

  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