For this operation you will need three tools: a small cross-head (Phillips) screwdriver, a pair of tweezers and a retractable knife.




The eyelid motor is a micro RC servomotor from Hitec HS-65MG/HB (analog) or HS-5065MG (digital version). Additionaly, you need to make a custom modification to the new servo before replacement. Carefully cut off one of the mounting handles (see figures below).

servo cut servo 



1. The first step is  to loosen the small screw located on the side of the eyelid. Rotate the eye by hand if needed, hold the eyelid carefully and do not apply too much force.



 2. Rotate eyelid to a fully closed position. This should give you easy access to the servomotor and wiring system.



3. Use tweezers to get the servo wire and connector out of the eyeball. 



4. Pull the eyelid off of the servo shaft. Be extremely careful not to damage the eyelid during this operation.



5. Pull at the wire to get the damaged servomotor out of the eyeball. 



6. Unplug the servo.



7. Take the new, modified servomotor (refer to the description at the beginning of this article for modification details). Put the servo at the same place (inside the pocket located at the centre of the eyeball) as the old one and carefully push it all the way to the bottom.



8. Gently screw the eyelid onto the motor shaft, but DO NOT tighten the screw. 



 9. Plug the servo into the eye connector.



10. Place the servo wire inside the eyeball. Insert the connector into the space at the back of the eyeball.



11. Now you need to set the motor to a position corresponding to the eyelid being fully open. This is a key step of the operation. Run EMYS control system using the standard starting procedure (described here LINK).



Then open his eyes to the fullest. You can use this part of code:

t: loop{

The loop is necessary because when the EMYS controller doesn't receive any position commands, it turns off the motor torque after a few seconds to conserve energy. If this happens while the eyelid screw is being tightened, the servo shaft might rotate. This would cause the eyelid to be placed incorrectly with respect to the shaft (the servo only has a limited rotation range). If you lock the eyelid with the motor shaft at the wrong position, the servo will burn out within few first minutes of operation.


 12. Rotate the eyelid to a fully open position (torque should already be applied to the motor shaft at this point). 



13. Do not open to the maximum. As a safety measure, leave a small space between eyelid and eye pipe (~1mm).



14. Tighten the eyelid screw.



15. As a final step, perform a few eyelid movements to check if everything is working properly. Please use this code to close and open EMYS' eyes.

   // Stop the loop used to hold the servomotor in position while tightening the eyelid screw
   // Close both eyes to the maximum in 1s.
   // Open both eyes to the maximum in 1s.
   // Move left eyelid to the starting (open) position in 2s.
robot.body.neck.head.eye[left].lid.Move(0, 2);
   // Rotate the right eyelid by 50 deg. in 0.5s.
robot.body.neck.head.eye[right].lid.Move(50, 0.5);



EMYS and FLASH are Open Source and distributed according to the GPL v2.0 © Rev. 0.9.2, 23.11.2017

FLASH Documentation