Skip to content

Hexapod Evolution

Why I Built This

This project started as something simple: I wanted to build a toy for my kids. A real, walking, six-legged robot they could hold, control, and be genuinely excited about.

But as it grew across three generations — through underpowered servos, violent jitter, and a complete chassis redesign — it became something more. Hexapod Mochi is now a platform I hope my kids will one day use to learn the skills that matter: 3D printing, electronics, coding, and the engineering mindset of iterating until something actually works.

Every design flaw, every failed prototype, and every hard-won fix is part of the story. That’s the whole point.

📚  Build Your Own

🖨️ 3D Printing & Assembly
Electronics (ESP32)
🎯 Calibration
3
Design Generations
18
Degrees of Freedom
MG92B
Final Servo Choice
Hexapod v1
● Version 1

The Foundation

The Ambitious Baseline

Every great robotics project begins with a simple question: Can I make this move smoothly? The first version was a proof of concept to test leg geometry and basic multi-directional locomotion.

Physics caught up quickly. Built around standard MG90S micro servos, the robot was fighting an uphill battle — the servos were simply too weak for the combined weight and dynamic forces of walking. The internal wiring layout was clunky and prone to tangling.

Lesson: Raw servo count doesn’t matter if torque is insufficient for the chassis weight.
⚙️ MG90S servos 🦿 18 DOF 📐 Rectangular chassis ⚠️ Underpowered
v1
v2
Hexapod v2
● Version 2

The Quest for Power

The Battle Against Jitter

To solve v1’s power deficit, v2 took a brute-force approach. The system was upgraded to support either a Raspberry Pi Pico or an ESP32, and the legs were completely redesigned to house beefier 21g servos.

In practice, high-quality 21g servos proved frustratingly difficult to source. Sub-par components caused a massive problem: terrible, violent jittering. The robot had the power to lift itself but spent more time shaking than walking.

Lesson: Raw torque is worthless without component quality and signal precision.
⚙️ 21g servos 🧠 Pico / ESP32 🦿 18 DOF ⚠️ Severe jitter
Hexapod Mochi v3
● Version 3 — Mochi

Refinement & Redesign

Form, Function, and the Perfect Fit

The breakthrough came with the MG92B servo — the strongest micro servo available that still fits a compact form factor. It delivers high torque without the massive footprint or violent jitter of v2.

With hardware dialed in, the chassis was radically transformed. The rectangular body gave way to a sleek circular layout, improving symmetry, multidirectional leg clearance, and lending the robot a distinctly friendly personality. Meet Mochi.

Result: Smooth gait, OTA firmware updates, and WiFi UDP control from any device.
⚙️ MG92B servos 🧠 ESP32 🦿 18 DOF 📶 WiFi UDP 🔄 OTA updates ⭕ Circular chassis
View on RookiDroid ↗
v3

⚙️  Design Philosophy

Mochi is a six-legged, WiFi-enabled crawler with 18 degrees of freedom and a circular body that balances weight, simplifies wiring, and improves stability. Driven by an ESP32 over a built-in WiFi access point, it supports over-the-air firmware updates and full gait customization. Every structural decision was deliberate.

📈

Layer Orientation

Print layers align with load directions, distributing stress along their length to prevent delamination under walking forces.

🔗

Reinforced Joints

Leg segments and servo mounts feature strengthened connection points that spread loads and minimize stress concentrations.

Circular Frame

The round body optimizes the weight-to-rigidity ratio for stable locomotion and even servo load distribution across all six legs.

🧱

Modular Assembly

Interlocking components reduce adhesive dependency and make repairs or upgrades straightforward without specialized tools.

🧪

Material Flexibility

Geometry is optimized to perform reliably with standard PLA or PETG, maintaining durability under repeated dynamic stress.

📱

Full Control Stack

Includes a BOM, wiring diagrams, gait look-up tables, path generation tools, and an Android app for point-and-go control.