Matt Mets made this neat video about using a servo motor as an input device for keyframing a robot animation. He writes:

By reading the voltage from the center pin of the the servo’s potentiometer, it can be used as an input as well as an output device. Basically, you get a bunch of extra positional sensors ‘for free’. Some things that I could see this being useful for are:

1. Collision detection on unpowered arms (or even poor man’s torque detection by measuring the difference between what you requested and the actual position, assuming the servo doesn’t break).

2. Physical keyframing; you move the arms of the thing you are animating manually, then press a button to record that position, repeat a number of times and then have the computer play it back (see video)

3. Haptic feedback, if you can control the servo fast enough (doubtful, but worth a try).

Servo as input device for programing robot movements – Link.

Becky Stern

Becky Stern

Becky Stern ( is a DIY guru and director of wearable electronics at Adafruit. She publishes a new project video every week and hosts a live show on YouTube. Formerly Becky was Senior Video Producer for MAKE. Becky lives in Brooklyn, NY and belongs to art groups Free Art & Technology (“release early, often, and with rap music”) and Madagascar Institute (“fear is never boring”).

  • John Ballinger

    Awesome. That is actually cool. Thanks for sharing. I am now starting to think what I could make with this? Anyway thanks for the video.

  • Russ Nelson

    Don’t you want to measure the error output from the comparator in the servo, instead? That tells you how hard the servo is working. So if you push on it, then the software can move it in the direction of the push. Plus, you’re not reverse-driving the servomotor, which can be hard on the gearing.

  • broos

    I can see some potential using this for a cnc machine.
    You could try to make some sort of an on the budget touch probe and use those saved data to make replica’s of excisting objects!

  • Hackius

    All HiTec digital servos have position reporting built in. Why would you not use that?

  • worf

    great nerd.
    i remember that technique once was called “teach in”.
    for robots.

  • jean-baptiste

    maybe you can do something like Topobo

  • Matt Mets

    That Topobo toy looks awesome!