Maya + Python + Arduino + Servo (Part 1) from Dan Thompson on Vimeo.

Maya + Python + Arduino + Servo (Part 2) from Dan Thompson on Vimeo.

I spend my days using a 3D animation package called Maya, and my nights building projects with Arduinos. Daniel Thompson is a visual effects artist who has combined Maya and an Arduino to drive a servomotor. My worlds just collided!

This post covers the scripts he used to do it. He has since built a Maya Python plug-in that is more accurate and can be keyframed. This is the really useful part, as it goes from being a very expensive 3D virtual knob to being a fully animateable animatronic system.
I’d love to see if he can get it working bi-directionally, so that the servo can act as a go-motion controller for Maya.

John Edgar Park

John Edgar Park

John Edgar Park likes to make things and tell people about it. He works at Disney Research and writes for Make and Boing Boing. He is training for American Ninja Warrior. You can find him at and twitter @johnedgarpark — if you like that sort of thing.

  • Riley

    If you build an arm with servos at joint points, you could theoretically build an arm that you could position and have the servo positions read then translated into kinetics in maya. And then vice versa. Sort of combining stop motion characters with 3d characters.

    • steve merkel

      this exists in the engineering world. There is a device known as a faro arm used for reverse engineering. It has 7 axes of control. and can be used to create 3d models from scans. It costs like 20000 for the arm and another 20000 for the software, so it would be really cool to creatw a homebrew version for like 100 bucks.

      • hockey14822

        I’m so glad we have open source, I’m going to have to get an Arduino. Apparently you can save a lot of money with this thing.

  • John Park

    Yes, that would be pretty darn awesome, Riley. Using inverse kinematics in Maya, you could get some very cool animatronic posing and animation going on your servo arm, too.

  • DanThompson

    Hey Guys, Yep, IK, constraints and spline IK. There’s nothing to say that you couldn’t apply any rigging technique in Maya to create a robot puppet with a very sophisticated range of movements.

    My first real milestone with this is to rig up a pair of legs and hips with all the bells an whistles that maya offers (like foot roll, knee twist and IK). Then who knows, it would be great to do a whole biped!

    BTW. Thanks for posting this John!

  • John Park

    You bet, Dan, just be sure to let me know when you release the plug-in! Maybe we can start building real-world character companions in our offices here at Disney!

  • DanThompson

    Sounds awesome, I’ll keep you posted!

  • moncef

    it’s really a great project
    BTW are you a graphic designer :p i can see the intuos3 grip pen :P

  • James Pollack

    i’m a graduate student in digital arts and new media at uc santa cruz and also a teaching assistant for a class this winter called “muppet magic: jim henson’s puppetry” — what a cool project. i’m totally going to use this to connect some puppets to the digital world, or rather the digital world to the puppets. please send me those apis whenever they’re operable! thanks!

    @ t
    d 0 t

  • James Clarke

    Amazing to see someone doing something fun to use, Maybe this could be used with a Bluetooth Transmitter and maybe control something Aerial ;) *Wink* UAV? *Wink* :) Good job though.