Hexapod

zip0 downloads
README image
1 / 11

Hexapod

A 3D Printed Hexapod Robot

Overview

<img src="./images/hexapod-logo.svg" alt="logo" width="64"/> Hexapod

A 3D Printed Hexapod Robot

It is strongly recommended to start with Hexapod v2 rather than building Hexapod v1. Our experience has shown that MG90S servos used in Hexapod v1 frequently fail due to their inherent weaknesses and inconsistencies in quality.

<img src="./images/hexapod_photo.jpg" alt="hexapod_photo" width="300"/><img src="./images/hexapod_photo_battery.jpg" alt="hexapod_photo" width="300"/>

<img src="./images/hexapod_lego_1.jpg" alt="hexapod_photo" width="300"/><img src="./images/hexapod_lego_2.jpg" alt="hexapod_photo" width="300"/>

Introduction

This agile, 3D-printed hexapod robot is designed to work with either a Raspberry Pi PICO or an ESP32, providing flexibility and enhanced performance. Equipped with stronger and faster 21G servos, it offers a range of advanced features, including:

  • A robust, durable structure
  • WiFi-enabled remote control
  • Smooth, agile movement
  • Over-the-air (OTA) firmware updates for easy maintenance

Electronics

NameThumbnailRequired #Note
Controller Board<img src="./images/controller_esp32.png" alt="controller_esp32" width="300"/> or <img src="./images/controller_pico.png" alt="controller_pico" width="300"/>1Purchase ESP32 version or RPi Pico version
21G Servo<img src="./images/dspower_21g.jpg" alt="dspower_21g" width="200"/>18DS Power or Miuzei 21G servo
Rocker Switch<img src="./images/switch.jpg" alt="switch" width="300"/>1
18650 battery<img src="./images/battery.jpg" alt="battery" width="300"/>2
18650 battery holder<img src="./images/battery_holder.jpg" alt="batter_holder" width="300"/>1

Connection Diagram

ESP32

diagram_esp32

Respberry Pi Pico W/2W

diagram_pico

Assembly

whole_assembly

3D-Printed Parts

Body x 1

body_assembly

FilenameThumbnailRequired #
body_base<img src="./images/body_base.jpg" alt="body_base" width="400"/>1
body_side<img src="./images/body_side.jpg" alt="body_side" width="400"/>2
body_front_back<img src="./images/body_front_back.jpg" alt="body_front_back" width="400"/>2
body_top<img src="./images/body_top.jpg" alt="body_top" width="400"/>1
body_top_cover<img src="./images/body_top_cover.jpg" alt="body_servo_top" width="400"/>1
body_battery<img src="./images/body_battery.jpg" alt="body_battery" width="400"/>1
body_servo_side1<img src="./images/body_servo_side1.jpg" alt="body_servo_side1" width="400"/>6
body_servo_side2<img src="./images/body_servo_side2.jpg" alt="body_servo_side2" width="400"/>6
body_servo_top<img src="./images/body_servo_top.jpg" alt="body_servo_top" width="400"/>6

Use the orientations of the thumbnials to print, no support is needed.

Joint x 3 + Mirrored Joint x 3

Check the images of the fully assembled robot for the orientations of the joints and the mirrored joints

joint_assembly

FilenameThumbnailRequired #Note
joint_bottom<img src="./images/joint_bottom.jpg" alt="joint_bottom" width="400"/>12
joint_cross<img src="./images/joint_cross.jpg" alt="joint_cross" width="400"/>6
joint_top<img src="./images/joint_top.jpg" alt="joint_top" width="400"/>12

Use the orientations of the thumbnials to print, no support is needed.

Leg x 6

leg_assembly

FilenameThumbnailRequired #
leg_bottom<img src="./images/leg_bottom.jpg" alt="leg_bottom" width="400"/>6
leg_side<img src="./images/leg_side.jpg" alt="leg_side" width="400"/>12
leg_top<img src="./images/leg_top.jpg" alt="leg_top" width="400"/>6

Use the orientations of the thumbnials to print, no support is needed.

Foot x 3 + Mirrored Foot x 3

Check the images of the fully assembled robot for the orientations of the feet and the mirrored feet

foot_assembly

FilenameThumbnailRequired #Note
foot_bottom<img src="./images/foot_bottom.jpg" alt="foot_bottom" width="400"/>6
foot_top<img src="./images/foot_top.jpg" alt="foot_top" width="400"/>6
foot_ground<img src="./images/foot_ground.jpg" alt="foot_ground" width="400"/>6
foot_tip<img src="./images/foot_tip.jpg" alt="foot_tip" width="400"/>6

Use the orientations of the thumbnials to print, no support is needed.

Accessory

FilenameThumbnailNote
accessory_cable_holder<img src="./images/accessory_cable_holder.jpg" alt="accessory_cable_holder" width="400"/>

Use the orientations of the thumbnials to print, no support is needed.

Others

NameSpecRequired #
ScrewM2 6mm36
ScrewM2 10mm198
NutsM2234
Pin (304)M4 6mm18
BearingMR74-2RS (4mm ID, 7mm OD, 2.5mm Bore)18

Software

hexapod_model_label

ESP32-Arduino

Source code is under ./hexapod_arduino.

  • hexapod_arduino.ino: Main Arduino sketch
  • config.h: Configuration header. Change the configurations based on your servo connections
  • motion.h: Automatically generated motion look-up-table using `path_tool'

Android

Working in progress

PC

Working in progress

Calibration

Check the following image for the initial positions of all the leg joints while all the servos are at 90 deg.

Adjust the following two lines in in config.h to correct the installation offsets.

static int left_offset_ticks[3][3] = {{-5, 10, 0}, {-15, 5, -20}, {20, -10, 10}};
static int right_offset_ticks[3][3] = {{20, -10, 0}, {-15, 0, -5}, {-10, 0, -20}};

calibration_1

calibration_2

Files in this package

  • CAD source: body_base.STL, body_battery.STL, body_side.STL, body_top.STL, body_top_cover.STL, foot_bottom.STL, foot_ground.STL, foot_tip.STL, foot_top.STL, joint_bottom.STL, joint_cross.STL, joint_top.STL (+8 more)
  • Images: accessory_cable_holder.jpg, battery.jpg, battery_holder.jpg, body_front_back.jpg, body_servo_side1.jpg, body_servo_side2.jpg, foot_tip.jpg, hexapod-logo.png, joint_bottom.jpg, joint_cross.jpg, joint_top.jpg, switch.jpg

Source & license

Imported into the CommunityCAD Archive with attribution preserved. All rights remain with the original author under the stated license.

Comments

Comments

Sign in to leave a comment.

Loading comments...