Skip to content


This is the documentation for building and using a retractable lever.

This project was developed by Andy Lustig in the Karpova Lab at HHMI's Janelia Research Campus.


  • Receives an input signal to either extend or retract the lever
  • Produces an output signal corresponding to the status of the lever (pressed or not pressed)
  • pyControl compatible
  • Fast - 180ms to extend or retract
  • Durable - faceplate and lever are made of aluminum and can hold up to abuse from rodent claws and teeth
  • Open source - all files are available on GitHub and can be modified to meet custom needs


Exploded views#

(Left) The servo and lever mount interface using a pin and slot mechanism. (Right) The lever rotates about two spring plungers.

Carriage movement#

The rotation of the servo arm is translated into linear movement of the carriage along a guide rail

Lever function#