RSS 2025
Zongzheng Zhang1,2* · Jiawen Yang1* · Ziqiao Peng1 ·
Meng Yang4 · Jianzhu Ma1, Lin Cheng5 · Huazhe Xu3 . Hang Zhao3 and Hao Zhao1,2
1 Institute for AI Industry Research (AIR), Tsinghua University, 2 Beijing Academy of Artificial Intelligence (BAAI),
3 Institute for Interdisciplinary Information Sciences(IIIS), Tsinghua University,
4 MGI Tech, Shenzhen, China, 5 Beihang University
(* indicates equal contribution)
RSS official | Project Page | arXiv | Hardware | Software
- CAD model Download
- Bill of Materials
- File content
- Building Instructions
- Silicone Face
- License and Acknowledgements
- Citation
Due to the large size of the CAD model files, they are hosted on Google Drive instead of being uploaded directly to GitHub. You can download the entire CAD model via the following link:
Please ensure you have SolidWorks 2020 or later installed to open and edit these files.
All costs are listed in USD.
| Item | Quantity | Cost per Item | Total Cost | Note |
|---|---|---|---|---|
| Integy RC GuoHua A0090 9g Metal Gear Digital Micro Servo 6kg | 29 | 4.06 | 117.74 | Purchase Link |
| RC Spare Part Compatible with KS3518 Rc Car Waterproof Metal Digital Servo High Torque Mechanical Arm Hand Metal Servo Motor | 4 | 59.35 | 237.4 | Purchase Link |
| 10pcs 3-Pin 30cm Servo Extension Cable Cord Female to Male Lead Wire Connector JR for RC Car Airplanes Remote Control-30mm | 33 | 7.99 | 263.67 | Purchase Link |
| 550PCS M3 Screw Kit | 4 | 9.99 | 39.96 | Purchase Link |
| Replacement Part For M3 Adjustable Push Rod & Ball Joint Linkage Set Assembly Servo Connecting Rod Stainless Steel For RC Aircraft Boat Part - (Color: 35mm) | 4 | 13.99 | 55.96 | Purchase Link |
| 5/10sets M2 304 Stainless Steel Leather Bag Belt Photo Scrapbook Album Book Post Binding Screw Screw Rivet Metal Screws | 20 | 9.66 | 193.2 | Purchase Link |
| 12Pack Vgoohobby Metal M3 Tie Rod End Ball Holder RC Joint Link Ball Head Holder CW Compatible with HSP Traxxas HPI Axial Redcat Racing 1/10 RC Car Truck Buggy Crawler | 6 | 12.99 | 77.94 | Purchase Link |
| 2Pcs Aluminum 1.75inch 25T Servo Arm Horn Long Steering Servo Arms Compatible Futaba Savox Xcore HL HSP HD Power Rc Servos for RC Airplanes RC Plane Crawler Car | 1 | 9.99 | 9.94 | Purchase Link |
| LML9B 9mm Linear Rail Mini Bearing Steel Rail Slide Rail+ Slide Block Variety Length (55mm) | 1 | 11.62 | 11.62 | Purchase Link |
| 7pcs Realistic Fake Tongue, Magic Tricks Accessories, Halloween Pranking False Tongue Horrific Tongue Prop Tricks Tongue Toys (009) | 1 | 8.55 | 8.55 | Purchase Link |
| 2 Pcs 8mm to 8mm Universal Joint Shaft Coupling with Screws for Motor | 1 | 11.99 | 11.99 | Purchase Link |
| CanaKit Raspberry Pi 5 Starter Kit PRO - Turbine Black (128GB Edition) (8GB RAM) | 1 | 159.99 | 159.99 | Purchase Link |
| Total | 1619.14 | |||
Note: This model is compatible with SolidWorks 2020 and later versions.
CAD_model
├── full_assembly.SLDASM
├── cheek_face_slave_part_mirror.SLDPRT
├── cheek_facial_slave_part_mirror.SLDPRT
├── cheek_line.SLDPRT
├── ks3518.SLDPRT
├── L.SLDPRT
├── nose_line.SLDPRT
├── nose_mirror_line.SLDPRT
├── nose_mirror_slave_part.SLDPRT
├── nose_slave_part.SLDPRT
├── OT.SLDPRT
├── OT_mirror.SLDPRT
├── Raspberry_Pi_(computer_science).SLDPRT
├── shell_back_of_the_head.SLDPRT
├── shell_carapace.SLDPRT
├── shell_Face_Bone_Connectors.SLDPRT
├── shell_Face_Bone_Connectors_mirror.SLDPRT
├── shell_facial_bones.SLDPRT
├── shell_left_ears.SLDPRT
├── shell_right_ears.SLDPRT
├── shell_skin_face.SLDPRT
├── studs.SLDPRT
├── studs_60.SLDPRT
├── "eye"
│ ├── eye.SLDASM
│ ├── eye_Balls_for_head_pulls.SLDPRT
│ ├── eye_bassinet.SLDPRT
│ ├── eye_comb.SLDPRT
│ ├── eye_crank_handle.SLDPRT
│ ├── eye_Eyeball_mounts.SLDPRT
│ └── eye_Eyelid_mounting_stubs.SLDPRT
│ ├── eye_lower_eyelid_of_the_right_eye.SLDPRT
│ ├── eye_lower_eyelid_of_the_right_eye_mirror.SLDPRT
│ ├── eye_m_shaped_board.SLDPRT
│ ├── eye_mounted_version.SLDPRT
│ ├── eye_pupil.SLDPRT
│ ├── eye_Shanks_for_Ball_Tie_Rods.SLDPRT
│ ├── eye_upper_eyelid_of_the_right_eye.SLDPRT
│ ├── eye_upper_eyelid_of_the_right_eye_mirror.SLDPRT
│ ├── eye_y_connector.SLDPRT
├── "eyebrow"
│ ├── EYEBROW.SLDASM
│ ├── eyebrow_brow center motor mounting bracket.SLDPRT
│ ├── eyebrow_brow center pendulum.SLDPRT
│ ├── eyebrow_connected model aircraft regulator.SLDPRT
│ ├── eyebrow_crank v4.SLDPRT
│ ├── eyebrow_eyebrow peak rocker 1.SLDPRT
│ ├── eyebrow_eyebrow peak rocker.SLDPRT
│ ├── eyebrow_GUOHUAA0090.SLDPRT
│ ├── eyebrow_Installation platform.SLDPRT
│ ├── eyebrow_mirror brow center motor mounting bracket.SLDPRT
│ ├── eyebrow_mirror brow center pendulum.SLDPRT
│ ├── eyebrow_mirror eyebrow peak rocker 1.SLDPRT
│ ├── eyebrow_short brow joystick.SLDPRT
├── "mouth"
│ ├── mouth assembly.SLDASM
│ ├── mouth_aluminum rocker arm.SLDPRT
│ ├── mouth_ball of spherical hinge.SLDPRT
│ ├── mouth_baseplate for teeth.SLDPRT
│ ├── mouth_baseplate.SLDPRT
│ ├── mouth_bearing cap.SLDPRT
│ ├── mouth_connector for OT head.SLDPRT
│ ├── mouth_connector for OT head_4mm medium.SLDPRT
│ ├── mouth_connector for OT head_4mmlong.SLDPRT
│ ├── mouth_convex iron wire.SLDPRT
│ ├── mouth_crank.SLDPRT
│ ├── mouth_fourth-generation jaw.SLDPRT
│ ├── mouth_gear.SLDPRT
│ ├── mouth_GUOHUAA0090.SLDPRT
│ ├── mouth_iron wire 30mm.SLDPRT
│ ├── mouth_iron wire_below middle.SLDPRT
│ ├── mouth_iron wire_freedom20mm.SLDPRT
│ ├── mouth_iron wire_freedom30mm.SLDPRT
│ ├── mouth_iron wire_upper middle.SLDPRT
│ ├── mouth_jaw five-bar mechanism_long.SLDPRT
│ ├── mouth_jaw five-bar mechanism_short.SLDPRT
│ ├── mouth_ks3518.SLDPRT
│ ├── mouth_lip connecting rod.SLDPRT
│ ├── mouth_lip six-bar mechanism_4mm crossbar.SLDPRT
│ ├── mouth_lip six-bar mechanism_8mm crossbar.SLDPRT
│ ├── mouth_lower teeth.SLDPRT
│ ├── mouth_metal ball of spherical hinge.SLDPRT
│ ├── mouth_MG90S.SLDPRT
│ ├── mouth_MGN7C_slider.SLDPRT
│ ├── mouth_MGR7_slider rail.SLDPRT
│ ├── mouth_mirror_motor mounting platform for smiling six-bar mechanism.SLDPRT
│ ├── mouth_mirror_oblique crank extension rod.SLDPRT
│ ├── mouth_mirror_smiling five-bar mechanism_below.SLDPRT
│ ├── mouth_motor mounting platform for smiling six-bar mechanism.SLDPRT
│ ├── mouth_mounting platform for upper lip connecting rod.SLDPRT
│ ├── mouth_oblique crank extension rod.SLDPRT
│ ├── mouth_OT head.SLDPRT
│ ├── mouth_perforated crank.SLDPRT
│ ├── mouth_rack.SLDPRT
│ ├── mouth_self-made ball hinge rod for the lower teeth.SLDPRT
│ ├── mouth_shaft flange.SLDPRT
│ ├── mouth_six-bar mechanism_above_short.SLDPRT
│ ├── mouth_six-bar mechanism_below_short.SLDPRT
│ ├── mouth_six-bar mechanism_with spherical hinge.SLDPRT
│ ├── mouth_slide rail mounting plate.SLDPRT
│ ├── mouth_smiling five-bar mechanism_above.SLDPRT
│ ├── mouth_smiling five-bar mechanism_below.SLDPRT
│ ├── mouth_smiling six-bar mechanism_above.SLDPRT
│ ├── mouth_smiling six-bar mechanism_below.SLDPRT
│ ├── mouth_spherical hinge.SLDPRT
│ ├── mouth_threaded pin.SLDPRT
│ ├── mouth_threaded rod of spherical hinge.SLDPRT
│ ├── mouth_tongue connecting rod.SLDPRT
│ ├── mouth_tongue connecting rod_long.SLDPRT
│ ├── mouth_tongue pulling rod.SLDPRT
│ ├── mouth_tongue tray.SLDPRT
│ ├── mouth_upper lip connection point.SLDPRT
│ ├── mouth_upper teeth.SLDPRT
└── "neck"
├── neck.SLDASM
├── neck_Axis_positioning_tools.SLDPRT
├── neck_ball.SLDPRT
├── neck_ball_hinge.SLDPRT
├── neck_crosshairs.SLDPRT
├── neck_extension_arm.SLDPRT
├── neck_Installation_of_sheet_metal.SLDPRT
├── neck_Parallel_platforms.SLDPRT
├── neck_pole.SLDPRT
├── neck_principal_axis.SLDPRT
├── neck_transition_part.SLDPRT
├── neck_universal_joint.SLDPRT
├── neck_Upper_shaft.SLDPRT
└── neck_y_axis_platform.SLDPRT
- Screw A: M2.5 × 8 mm (Self-tapping)
- Screw B: M3 × 10 mm (Self-tapping)
- Screw C: ⌀3 (mating screw)
- Screw D: M3
- Screw E: M2 × 10 mm
The neck_Installation_of_sheet_metal is installed on the neck_y_axis_platform using 4 pairs of screws.
Two ks3518 servo motors are installed on the neck_Installation_of_sheet_metal on both sides.
The neck_extension_arm is installed on each ks3518 servo motor to deliver power.
The neck_principal_axis is a section of plain shaft which stands on the neck_Installation_of_sheet_metal.
Two neck_Axis_positioning_tools are deployed to fix the neck_principal_axis.
The universal joint is assembled on the upper end of the shaft.
The neck_Parallel_platforms is attached with the universal joint with the neck_Upper_shaft.
Two rod linkages connect the neck_Parallel_platforms and the neck_extension_arms.
The neck module is completed.
A Guohua servo motor is installed in the middle of the eye_mounted_version to control the eyeballs to look vertically. In addition, every servo motor matches a default crank. Therefore, in the following context, servo motor indicates a servo motor and a matching crank if not specified.
Another Guohua servo motor is install on the eye_bassinet, which is then intalled between the eyeballs on the eye_mounted_version.
A part called eye_comb figuratively is fixed on the eye_bassinet. An M-shaped part: eye_m_shaped_board is fixed on the crank of the servo. Two Y-shaped parts: eye_y_connector connect the two parts mentioned above, forming two identical four-bar mechanisms.
The eye_Eyeball_mounts are fixed on the eye_y_connector. The micro cameras are fixed on them.
The shell of the eyeballs is mounted on the eye_Eyeball_mounts.
A L-shaped crank connects the crank of the servo motor and the eye_bassinet, forming a new four-bar mechanism.
The four eyelids are then assenmbled around the eyeball.
Four servo motors controlling the eyelids are mounted on the eye_mounted_version.
The eye_upper_eyelid_of_the_right_eye and eye_upper_eyelid_of_the_left_eye are driven by two rod linkages.
Ditto for the lower eyelids.
The eye module is completed.
The two eye_brow_center_motor_mounting_brackets are mirror-symmetric which servo motors, eyebrow_brow_center_pendelums, and eyebrow_short_brow_joysticks are install on. The crank of the servo motor, the eyebrow_short_brow_joysticks (rod), and eyebrow_brow_center_pendelums (rocker) constitutes a four-bar mechanism.
The two eye_brow_center_motor_mounting_brackets are installed on the eyebrow_Installation_platform.
Six servo motors are installed on the back of the eyebrow_Installation_platform staggeredly.
The eyebrow_eyebrow_peak_rockers are installed on the side.
Another rod along with the crank of the servo motor installed at the bottom forms another four-bar mechanism.
The eyebrow module is complete.
Two mouth_motor_mounting_platform_for_smiling_six-bar_mechanisms are installed on the mouth_baseplate.
Two rods and two servo motors form the five-bar mechanism. And the latter are installed on the mouth_motor_mounting_platform_for_smiling_six-bar_mechanisms.
Three servo motors are then installed on the mouth_baseplate to control the upper lips.
At the front of the mouth_baseplate, there are two mounting structures,which is used to install the three of the six rods of the six-bar mechanism used to control the lips.
An addtional mounting part is installed in the middle.
This part has the same funciton as the mounting structure.
Then, three adaptively deformed iron wires are used to connect the crank to the rods. The 2mm-dimeter wires are manually adjusted and equipped with two open terminals at both ends. To connect the wires with the cranks and rods, the suggested method is to use 2mm-dimeter mating screws and bushing whose inner dimeter is 2mm, outter dimeter is 4mm.
One servo motor is installed from the bottom up, with a gear between the motor and the crank.
For the mouth_slide_rail_mounting_plate, a MGR7 slider rail is installed on it.
Two servo motors are installed on the side to control the motion of the jaw opening and closing.
The matching slider is installed on the bottom of mouth_motor_mounting_platform_for_smiling_six-bar_mechanisms.
Two servo motors are installed next to the aforemetioned motor.
The mouth_tongue_connecting_rod_long and mouth_perforated_crank with their matching motor and crank form a four-bar mechanism. The mouth_tongue_connecting_rod and mouth_tongue_pulling_rod with their matching motor and crank form another four-bar mechanism. Two four-bar mechanisms are connected in parallel.
On the mouth_baseplate_for_teeth are the three servo motors controlling the lower lip.
The mechanism at the front is the same as that of the upper lip.
Two mouth_oblique_crank_extension_rods are fixed on the cranks on both sides. At the end of that extension rods are the mouth_threaded_pin used to install mouth_metal_ball_of_spherical_hinges.
Different from the upper lip, another mouth_threaded_pin with ball of spherical hinge is install on the mouth_six-bar_mechanism_with_spherical_hinge.
One rod with ball hinge on both sides connects the mouth_six-bar_mechanism_with_spherical_hinge and the extended rod.
The mouth_baseplate_for_teeth is fixed on the jaw.
The lower teeth is then installed on the jaw.
The upper teeth is installed on the bottom of the mouth_baseplate.
The mouth_shaft_flange is placed on the half-hole of the mouth_baseplate. The cap is installed on the half-hole to locate the shaft. A crank of 32mm is connected with the motor on the mouth_slide_rail_mounting_plate, and the other end connected with jaw. A long rod connects the mouth_shaft_flange and jaw, forming a five-bar mechanism.
On the other side of the jaw, a large servo motor ks3518 is installed on the mouth_baseplate, whose matching crank is 38mm long.
A rod connects the longer crank and the jaw.
To give more freedom around the control points on the lip, spherical hinges are used.
The mouth module is complete.
A neck_transition_part is used to connect the neck module and the mouth module.
Four studs of 60mm are used as the connector.
Four studs of 30mm are used as the connector between the mouth module and the eye module.
Three studs of 60mm are used as the connector between the eye module and the eyebrow module.
Shell_Face_Bones are used to connect the eye module and facial mask.
The ears are connected with the facial mask. The back of the head is located by two ears.
The skull is then mounted on the back of the head.
The lines go through the holes designed on the eye and eyebrow module.
To optimize expression accuracy and realism, especially in tendon-driven regions, we carefully tested silicone materials. We used A00-30 silicone, known for its skin-like softness, and adopted a 3D-printed mold solution for efficient iteration. The silicone was mixed (1:1 ratio), degassed in a vacuum chamber (-0.1 MPa, 5-10 min), poured into the mold, and cured at 25°C for 4-8 hours, followed by a 24-hour resting period to enhance performance. Material tension was adjusted by thickness (2mm, 2.5mm, 4mm, 5mm), with the eye area thinned to 2mm to prevent localized buildup at the eyelid. For tendon-driven sections, experiments determined that 4mm skin provided the best balance between visibility and actuation capability.
This source code is licensed under the Apache 2.0 liscence found in the LICENSE file in the root directory of this repository.
If you find this project useful, feel free to cite our work!
@article{zhang2025morpheus,
title={Morpheus: A Neural-driven Animatronic Face with Hybrid Actuation and Diverse Emotion Control},
author={Zhang, Zongzheng and Yang, Jiawen and Peng, Ziqiao and Yang, Meng and Ma, Jianzhu and Cheng, Lin and Xu, Huazhe and Zhao, Hang and Zhao, Hao},
journal={arXiv preprint arXiv:2507.16645},
year={2025}
}

































































