Skip to content

rookidroid/hexapod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo Hexapod

A 3D Printed Hexapod Robot

This is the upgraded Hexapod v2 with stronger 21G servos, for the instructions of the original Hexapod with MG92B or MG90S servos, please go to v1 branch

hexapod_model

hexapod_photo

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

Name Thumbnail Required # Note
Controller Board controller_esp32 or controller_pico 1 Purchase ESP32 version or RPi Pico version
21G Servo dspower_21g 18 DS Power or Miuzei 21G servo
Rocker Switch switch 1
18650 battery battery 2
18650 battery holder batter_holder 1

Connection Diagram

ESP32

diagram_esp32

Respberry Pi Pico W/2W

diagram_pico

Assembly

whole_assembly

3D-Printed Parts

Body x 1

body_assembly

Filename Thumbnail Required #
body_base body_base 1
body_side body_side 2
body_front_back body_front_back 2
body_top body_top 1
body_top_cover body_servo_top 1
body_battery body_battery 1
body_servo_side1 body_servo_side1 6
body_servo_side2 body_servo_side2 6
body_servo_top body_servo_top 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

Filename Thumbnail Required # Note
joint_bottom joint_bottom 12
joint_cross joint_cross 6
joint_top joint_top 12

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

Leg x 6

leg_assembly

Filename Thumbnail Required #
leg_bottom leg_bottom 6
leg_side leg_side 12
leg_top leg_top 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

Filename Thumbnail Required # Note
foot_bottom foot_bottom 6
foot_top foot_top 6
foot_ground foot_ground 6
foot_tip foot_tip 6

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

Accessory

Filename Thumbnail Note
accessory_cable_holder accessory_cable_holder

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

Others

Name Spec Required #
Screw M2 6mm 36
Screw M2 10mm 198
Nuts M2 234
Pin (304) M4 6mm 18
Bearing MR74-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