




Yertle Quadruped
✓ Confirmed fresh May 27, 2026
Sign up to InstallAbout this program
Yertle — A 3D Printed Quadrupedal Robot for Locomotion Research
Yertle is a 12-DOF quadruped robot designed for locomotion research. It fuses the leg geometry of the Kangal quadruped with the body geometry of SpotMicro, making most parts cross-compatible with the SpotMicro ecosystem.
Source: https://github.com/Jerome-Graves/yertle
Creator: Jerome Alexander Graves
License: MIT
Status: Work-in-progress (functional; ROS2 integration pending)
This Program is a learning entry point. The original firmware is C++ on an ESP32 with a Python GUI master controller — the orobot Program here exposes a stubbed JavaScript interface so you can explore the gait/command surface in-browser. To run on real hardware, follow the upstream build and flash instructions.
Mechanical
- 4 legs × 3 DOF (hip yaw + hip pitch + knee) = 12 servos total
- Leg extension: ~20 cm
- Mass: ~1.8 kg
- Frame: PLA or ABS, printable on a 150 × 150 mm bed (Ender 3 Pro tested)
- Print time: ~2 weeks (5–10 h/day on a single Ender 3 Pro)
Electronics
| Role | Component |
|---|---|
| Microcontroller (master of servos/sensors) | ESP32s |
| Optional onboard SBC (vision/ROS) | Raspberry Pi 4B |
| Servo driver | PCA9685 (16-channel PWM) |
| Servos × 12 | SPT5435LV-180W, 35 kg·cm waterproof digital (≥ 15 kg·cm required) |
| IMU (optional) | MPU9250 9-axis |
| Battery | 7.4 V 2S 5000 mAh LiPo (~30 min runtime) |
| Power | SBEC 6 V 20 A |
The robot can run headless from the ESP32 alone (UDP-over-WiFi to a Python GUI on a laptop/phone) or with a Pi4 onboard for vision and ROS.
Software architecture
Master/slave over serial or UDP/WiFi:
- Slave (ESP32, C++/Arduino): servo control, sensor read, inverse kinematics, safety limits.
- Master (Python 3 GUI): gait generation, sensor fusion, ROS2 (todo). Runs on anything with WiFi + screen + Python 3.
- Simulation: Python-based built-in simulator; URDF available for Gazebo/Unity.
Build cost
~£250 total (servos dominate at ~£162). See full BOM in the upstream Design/README.
3D printed parts (21 STLs)
- Shell (4): Top, Bottom, Front, Back
- Frame (9): Inner/Outer/Upper/Lower Shoulder Frame, Left/Right Servo Mount, Servo Mount Top Bracket, Side Body Beam, Electronics Mounting Plate
- Legs (8): Inner/Outer Tibia, Femur, Femur Servo Connector, Left/Right Shoulder, Short Link, Long Link
All STLs: https://github.com/Jerome-Graves/yertle/tree/main/Design/STL
Hardware compatibility (BYOD)
Yertle is not an orobot-firmware-native build. It uses a custom ESP32 firmware. Running the orobot Program against real hardware requires bridging the orobot WebSocket protocol to Yertle's UDP master/slave protocol — a custom integration tracked under the orobot ESP32 BYOD effort.
Inspirations
- Kangal (leg design)
- SpotMicro (body geometry, parts compatibility)
- Open Quadruped
Extracted from commit 99c1f98 on 2026-04-27.
🖨 Print Files (20)
orobot-1777894222239-Electronics_Mounting_Plate.stl
orobot-1777894224054-Inner_Shoulder_Frame.stl
orobot-1777894225967-Left_Servo_Mount.stl
orobot-1777894227806-Lower_Shoulder_Frame.stl
orobot-1777894229860-Outer_Shoulder_Frame.stl
orobot-1777894231511-Right_Servo_Mount.stl
Required Hardware
| Qty | Part | Notes |
|---|---|---|
| 12 | SPT5435LV-180W 35kg·cm waterproof digital servo | ≥15 kg·cm required |
| 1 | M3 screw, nut & washer assortment (x100) | — |
| 1 | MPU9250 9-axis IMU | optional |
| 1 | ESP32s microcontroller | — |
| 1 | Raspberry Pi 4B | optional, for vision/ROS |
| 1 | PCA9685 16-channel PWM servo driver | — |
| 1 | 7.4V 2S 5000mAh LiPo battery | ~30 min runtime |
| 1 | SBEC 6V 20A voltage regulator | — |
| 4 | Miniature ball bearings 5×16×5mm | — |
| 4 | Deep groove ball bearings 25×37×7mm | — |
| 8 | RS PRO miniature ball bearing 3×13×5mm | — |
| 4 | 25T metal servo circular horn | — |
| 4 | 25T metal servo arm horn | — |
| 32 | Sleeve bearing 3mm bore × 5mm OD × 5mm | — |
| 1 | PLA filament 1kg | or ABS/PETG |
B