Real Time Motion Controlled 3D Printed Hexapod

On June 29, 2016 by jw

This is a 3D printed hexapod that can be animated in real time using Maya’s animation tools.


I 3D printed a Hexapod designed by Naus and then hooked up an Adafruit 16 Channel 12 bit Servo Shield for Arduino to drive all 12 servos.

Printed on a Makerbot Replicator 2 with PLA and default settings:

First push-up cycle demo. (not animated in Maya):


I rigged the Hexapod with Advanced Skeleton for Maya. This created a really robust and flexible rig. A little too flexible though. I had to add some constraints to prevent the leg movements from breaking the physical bot.

This is the walk cycle without any limitations. If you look close you can see the ‘knee’ breaking. This is because the physical legs can’t really do a reaching motion. They can only sweep from side to side and move up and down:

giphy (1)


Here is the walk cycle with physical limitations. It’s more of a swimming action now:

giphy (2)


Getting Servo Tools for Maya up and running was pretty challenging. It’s well coded and documented but I still ran into a few hurdles with type casting and dependencies. I created a troubleshooting guide that anyone can check out here.

The example code could only drive 4 servos. I had to modify the Arduino sketch and the python lib to accommodate for the additional 8 servos. Finally I updated the Arduino sketch to send the PWM signals out to the 16 channel servo shield instead of the default output pins.

That’s about it. I first started this project in October of 2014 and I’m now uploading the working demo video at the end of June in 2016. A few pages of Steven Pressfield’s The War of Art helped me finish this project.

2 Responses to “Real Time Motion Controlled 3D Printed Hexapod”

  • Hello Justin, I really love your works, its my new inspiration. I have few problem and want to solve it so badly! I did try to reach Daniel Thompson who invent (ServoToolForMaya) but its hard because last time he use his blog was long time ago. I always want to run servo from my OSX, is that possible? I use Maya 2017 and that shouldn’t be problem. I am not sure about PySerial. Information on PySerial for OSX isn’t very clear, so confused. Do you use it at all? If not, I can skip this. Everytime, I try to turn on the on plug-in window and it kept turn it off itself. Maybe it didn’t read it correctly. When I click on plug-in window and I get this,

    # import serial
    # ImportError: No module named serial //
    // Warning: line 1: Failed to run file: /Applications/Autodesk/maya2017/ //
    // Error: line 1: (servoWrite) //

    Help me please!!


  • Hi Jason, I haven’t tested Servo Tools for Maya on OSX. The error you posted is stating “No module named serial.” You’ll need to install pyserial on your system:

Leave a Reply

Your email address will not be published. Required fields are marked *