Using Maya and an Arduino to control a servo

Arduino Computers & Mobile Technology

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.

22 thoughts on “Using Maya and an Arduino to control a servo

  1. Riley says:

    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.

    1. steve merkel says:

      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.

      1. hockey14822 says:

        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.

  2. John Park says:

    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.

  3. DanThompson says:

    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!

  4. John Park says:

    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!

  5. DanThompson says:

    Sounds awesome, I’ll keep you posted!

  6. moncef says:

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

  7. James Pollack says:

    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

  8. James Clarke says:

    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.

Comments are closed.

Discuss this article with the rest of the community on our Discord server!

John Edgar Park likes to make things and tell people about it. He builds project for Adafruit Industries. You can find him at and twitter/IG @johnedgarpark

View more articles by John Edgar Park


Maker Faire Bay Area 2023 - Mare Island, CA

Escape to an island of imagination + innovation as Maker Faire Bay Area returns for its 15th iteration!

Buy Tickets today! SAVE 15% and lock-in your preferred date(s).