Skip to content

feat(cad): support of EMAX ES-9051 servos - #70

Merged
jamro merged 4 commits into
mainfrom
feat/emax-es-9051
Oct 12, 2026
Merged

jamro merged 4 commits into
mainfrom
feat/emax-es-9051

Conversation

@jamro

@jamro jamro commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

What

Add support for the EMAX ES9051 servo to the Tiny Engineer robot.

Changes include:

  • Add specifications for the EMAX ES9051 servo.
  • Update existing EMAX ES9051 specifications and dimensions.
  • Add new and updated 3D models to support the servo.
  • Ensure compatibility with the existing robot design and assembly.

Validation

Physical validation is required before merging this PR.

  • Export all robot parts to .3mf files.
  • Verify that all exported parts are complete and ready for 3D printing.
  • 3D print all required robot parts.
  • Assemble the complete robot using the EMAX ES9051 servo.
  • Verify mechanical fit, alignment, clearance, and mounting points.
  • Test servo movement and ensure there are no mechanical collisions or obstructions.
  • Confirm that the robot can be fully assembled and operates correctly.

Summary by CodeRabbit

  • New Features
    • Added support for the compact EMAX ES9051 servo, including a preset, dimensional information, and printable parts.
    • Added 3D models for ES9051 components and documented the servo in hardware, build, and shopping guides.

@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 4750832a-a739-49eb-aca1-0af293b81472

📥 Commits

Reviewing files that changed from the base of the PR and between 80949ac and 924b7b7.


📒 Files selected for processing (132)
  • 3d_models/README.md
  • 3d_models/cad/TinyEngineer.f3d
  • 3d_models/fusion/TinyEngineerTools/servos.json
  • 3d_models/parts/es9051/3mf/AiEmblem.3mf
  • 3d_models/parts/es9051/3mf/Bell.3mf
  • 3d_models/parts/es9051/3mf/Belly.3mf
  • 3d_models/parts/es9051/3mf/BottomCover.3mf
  • 3d_models/parts/es9051/3mf/Chair.3mf
  • 3d_models/parts/es9051/3mf/Chest.3mf
  • 3d_models/parts/es9051/3mf/Coffee.3mf
  • 3d_models/parts/es9051/3mf/Desk.3mf
  • 3d_models/parts/es9051/3mf/DeskPad.3mf
  • 3d_models/parts/es9051/3mf/DeskTop.3mf
  • 3d_models/parts/es9051/3mf/ForearmLeft.3mf
  • 3d_models/parts/es9051/3mf/ForearmRight.3mf
  • 3d_models/parts/es9051/3mf/Hat.3mf
  • 3d_models/parts/es9051/3mf/Head.3mf
  • 3d_models/parts/es9051/3mf/LampBase.3mf
  • 3d_models/parts/es9051/3mf/LampButton.3mf
  • 3d_models/parts/es9051/3mf/LampCap.3mf
  • 3d_models/parts/es9051/3mf/LampDiffuser.3mf
  • 3d_models/parts/es9051/3mf/LaptopCase.3mf
  • 3d_models/parts/es9051/3mf/LaptopScreen.3mf
  • 3d_models/parts/es9051/3mf/Mug.3mf
  • 3d_models/parts/es9051/3mf/Neck.3mf
  • 3d_models/parts/es9051/3mf/PartsSetA.3mf
  • 3d_models/parts/es9051/3mf/PartsSetB.3mf
  • 3d_models/parts/es9051/3mf/ScrewSizingTest.3mf
  • 3d_models/parts/es9051/3mf/SeatLeft.3mf
  • 3d_models/parts/es9051/3mf/SeatRight.3mf
  • 3d_models/parts/es9051/3mf/ServoSizingTester.3mf
  • 3d_models/parts/es9051/3mf/UpperArm.3mf
  • 3d_models/parts/es9051/README.md
  • 3d_models/parts/es9051/step/AiEmblem.step
  • 3d_models/parts/es9051/step/Bell.step
  • 3d_models/parts/es9051/step/Belly.step
  • 3d_models/parts/es9051/step/BottomCover.step
  • 3d_models/parts/es9051/step/Chair.step
  • 3d_models/parts/es9051/step/Chest.step
  • 3d_models/parts/es9051/step/Coffee.step
  • 3d_models/parts/es9051/step/Desk.step
  • 3d_models/parts/es9051/step/DeskPad.step
  • 3d_models/parts/es9051/step/DeskTop.step
  • 3d_models/parts/es9051/step/ForearmLeft.step
  • 3d_models/parts/es9051/step/ForearmRight.step
  • 3d_models/parts/es9051/step/Hat.step
  • 3d_models/parts/es9051/step/Head.step
  • 3d_models/parts/es9051/step/LampBase.step
  • 3d_models/parts/es9051/step/LampButton.step
  • 3d_models/parts/es9051/step/LampCap.step
  • 3d_models/parts/es9051/step/LampDiffuser.step
  • 3d_models/parts/es9051/step/LaptopCase.step
  • 3d_models/parts/es9051/step/LaptopScreen.step
  • 3d_models/parts/es9051/step/Mug.step
  • 3d_models/parts/es9051/step/Neck.step
  • 3d_models/parts/es9051/step/PartsSetA.step
  • 3d_models/parts/es9051/step/PartsSetB.step
  • 3d_models/parts/es9051/step/ScrewSizingTest.step
  • 3d_models/parts/es9051/step/SeatLeft.step
  • 3d_models/parts/es9051/step/SeatRight.step
  • 3d_models/parts/es9051/step/ServoSizingTester.step
  • 3d_models/parts/es9051/step/UpperArm.step
  • 3d_models/parts/es9051/stl/AiEmblem.stl
  • 3d_models/parts/es9051/stl/Bell.stl
  • 3d_models/parts/es9051/stl/Belly.stl
  • 3d_models/parts/es9051/stl/BottomCover.stl
  • 3d_models/parts/es9051/stl/Chair.stl
  • 3d_models/parts/es9051/stl/Chest.stl
  • 3d_models/parts/es9051/stl/Coffee.stl
  • 3d_models/parts/es9051/stl/Desk.stl
  • 3d_models/parts/es9051/stl/DeskPad.stl
  • 3d_models/parts/es9051/stl/DeskTop.stl
  • 3d_models/parts/es9051/stl/ForearmLeft.stl
  • 3d_models/parts/es9051/stl/ForearmRight.stl
  • 3d_models/parts/es9051/stl/Hat.stl
  • 3d_models/parts/es9051/stl/Head.stl
  • 3d_models/parts/es9051/stl/LampBase.stl
  • 3d_models/parts/es9051/stl/LampButton.stl
  • 3d_models/parts/es9051/stl/LampCap.stl
  • 3d_models/parts/es9051/stl/LampDiffuser.stl
  • 3d_models/parts/es9051/stl/LaptopCase.stl
  • 3d_models/parts/es9051/stl/LaptopScreen.stl
  • 3d_models/parts/es9051/stl/Mug.stl
  • 3d_models/parts/es9051/stl/Neck.stl
  • 3d_models/parts/es9051/stl/PartsSetA.stl
  • 3d_models/parts/es9051/stl/PartsSetB.stl
  • 3d_models/parts/es9051/stl/ScrewSizingTest.stl
  • 3d_models/parts/es9051/stl/SeatLeft.stl
  • 3d_models/parts/es9051/stl/SeatRight.stl
  • 3d_models/parts/es9051/stl/ServoSizingTester.stl
  • 3d_models/parts/es9051/stl/UpperArm.stl
  • 3d_models/parts/fs0307/3mf/BottomCover.3mf
  • 3d_models/parts/fs0307/3mf/Head.3mf
  • 3d_models/parts/fs0307/3mf/PartsSetA.3mf
  • 3d_models/parts/fs0307/3mf/PartsSetB.3mf
  • 3d_models/parts/fs0307/step/BottomCover.step
  • 3d_models/parts/fs0307/step/Head.step
  • 3d_models/parts/fs0307/step/PartsSetA.step
  • 3d_models/parts/fs0307/step/PartsSetB.step
  • 3d_models/parts/fs0307/stl/BottomCover.stl
  • 3d_models/parts/fs0307/stl/Head.stl
  • 3d_models/parts/fs0307/stl/PartsSetA.stl
  • 3d_models/parts/fs0307/stl/PartsSetB.stl
  • 3d_models/parts/hd1370a/3mf/BottomCover.3mf
  • 3d_models/parts/hd1370a/3mf/Head.3mf
  • 3d_models/parts/hd1370a/3mf/PartsSetA.3mf
  • 3d_models/parts/hd1370a/3mf/PartsSetB.3mf
  • 3d_models/parts/hd1370a/step/BottomCover.step
  • 3d_models/parts/hd1370a/step/Head.step
  • 3d_models/parts/hd1370a/step/PartsSetA.step
  • 3d_models/parts/hd1370a/step/PartsSetB.step
  • 3d_models/parts/hd1370a/stl/BottomCover.stl
  • 3d_models/parts/hd1370a/stl/Head.stl
  • 3d_models/parts/hd1370a/stl/PartsSetA.stl
  • 3d_models/parts/hd1370a/stl/PartsSetB.stl
  • 3d_models/parts/sg90/3mf/BottomCover.3mf
  • 3d_models/parts/sg90/3mf/Head.3mf
  • 3d_models/parts/sg90/3mf/PartsSetA.3mf
  • 3d_models/parts/sg90/3mf/PartsSetB.3mf
  • 3d_models/parts/sg90/step/BottomCover.step
  • 3d_models/parts/sg90/step/Head.step
  • 3d_models/parts/sg90/step/PartsSetA.step
  • 3d_models/parts/sg90/step/PartsSetB.step
  • 3d_models/parts/sg90/stl/BottomCover.stl
  • 3d_models/parts/sg90/stl/Head.stl
  • 3d_models/parts/sg90/stl/PartsSetA.stl
  • 3d_models/parts/sg90/stl/PartsSetB.stl
  • docs/3d/parametric-design.md
  • docs/hardware/README.md
  • docs/hardware/components.md
  • docs/hardware/servos.md
  • docs/shopping.md

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@jamro

jamro commented Oct 10, 2026

Copy link
Copy Markdown
Owner Author

Currently in the process of 3D printing and testing all components to verify fit, assembly, and servo functionality.

@jamro
jamro force-pushed the feat/emax-es-9051 branch from 7015b5e to 12c294f Compare October 11, 2026 12:22
@jamro
jamro force-pushed the feat/emax-es-9051 branch from 12c294f to 924b7b7 Compare October 12, 2026 14:40
@jamro

jamro commented Oct 12, 2026

Copy link
Copy Markdown
Owner Author

I've completed the physical validation with the EMAX ES9051 servo, and everything works as expected! ✅
All parts were successfully 3D printed and assembled. The servo fits correctly, mounting points and clearances are good, and all movements work smoothly without any mechanical collisions or obstructions.

The robot is fully assembled and operational with the EMAX ES9051. Physical validation passed! ready to merge!

emax_preview

@jamro
jamro marked this pull request as ready for review October 12, 2026 14:54
@jamro
jamro merged commit 22afc31 into main Oct 12, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant