Skip to content

rivsgremxry/hexapod

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo Hexapod

A 3D Printed Hexapod Robot

banner

google_play windows linux

Introduction

This is a hexapod robot based on Smallp Tsai's hexapod-v2-7697 project. This project reused most of the mechanical design in the original project, but with a full redesign of the circuits and software. The table below shows the difference between this project and the original one.

Original hexapod-v2-7697 This project
Controller Linkit 7697 Raspberry Pi Zero W or Raspberry Pi Zero W 2
PWM control Custom circuit board 2 x PCA9685 motor driver boards
DC-DC 7 x mini360 modules 2 x XL4005 5A Max DC-DC modules and 1 x mini360
Power 2S Lipo battery 2 x 18650 batteries
Remote BLE WiFi, Bluetooth
Remote software Android and iOS PC, Android
hexapod.mp4
0001-0702.mp4

Software

Raspberry Pi

Requirements

Raspberry Pi is running Raspberry Pi OS.

  • Enable I2C through raspi-config
sudo raspi-config
  • Install required packages
sudo apt-get install python3-numpy python3-pip
  • Install required Python modules
pip3 install adafruit-circuitpython-servokit

Tips: It is convenient to debug code on Raspberry Pi through VSCode's remote feature.

Running

The hexapod program, located under ./software/raspberry pi/, is written in Python. Use the following command to start it manually.

python3 hexapod.py

Android

screenshot_wifi screenshot_bluetooth

screenshot_control1

screenshot_control2

PC

PC program source files are located under ./software/pc/. The compiled program can be downloaded under the release page.

pc_interface

  • Find the correct IP address of the Raspberry Pi on the hexapod
  • Connect to the hexapod using the IP address
  • Use the buttons on the panel to control the hexapod

Mechanism

Bill of Materials (BOM)

Servos

18 TowerPro MG92B are required.

The dimension of 3d printed part is highly dependent on the servo's size. Modification is required if you want to use alternative servos.

3D-Printed Parts

Body x 1
Filename Thumbnail Required
body_top body_top 1
body_bottom body_bottom 1
body_side_wall body_side_wall 2
body_back_wall body_back_wall 2
battery_box battery_box 1
battery_cover battery_cover 1
Leg x 6
Filename Thumbnail Required
thigh_top thigh_top 1 (x6)
joint_cross joint_cross 1 (x6)
joint_top joint_top 2 (x6)
joint_bottom joint_bottom 2 (x6)
leg_top leg_top 1 (x6)
let_bottom leg_bottom 1 (x6)
foot_top foot_top 1 (x6)
foot_bottom foot_bottom 1 (x6)
foot_ground foot_ground 1 (x6)
foot_tip foot_tip 1 (x6)

Others

Name Spec Thumbnail Required Note
Screw M2 6mm 6mm 54 Servo Arm: 1 x 18
Joint: 4 x 6
Thigh: 2 x 6
Screw M2 10mm 10mm 24 Thigh: 1 x 6
Pin lock: 1 x 18
Screw M2 30mm 30mm 36 Servo: 2 x 18
Nuts M2 6mm 36 Servo: 2 x 18
Pin (304) M4 6mm pin 18 Servo: 1 x 18

Leg Assemble

Assembly video

Exploded view

LegAssemble

Detailed steps

  • Step 1 - Combine thigh_top, MG92B and thigh_bottom, use M2x30mm screw and nut to secure them together.

LegAssemble1

  • Step 2 - Grab one joint_cross, joint_top and joint_bottom and combine them

LegAssemble2

  • Step 3 - First put 2 x MG92B, leg_top and leg_bottom together with M2x30mm screw and nut. Then attach joint_top and joint_bottom altogether

LegAssemble3

  • Step 4 - Grab foot_top, foot_bottom and foot_ground (and foot_top) and assemble them.

LegAssemble4

  • Finish - Great, you got 1 leg done, 5 more to go :)

LegAssemble5

Electronics

Bill of Materials (BOM)

Name Thumbnail Required
Raspberry Pi Zero W or W 2 raspberry pi 1
PCA9685 motor driver PCA9685 2
XL4005 DC-DC step down XL4005 2
Mini 360 DC-DC step down mini360 1
Toggle switch toggle_switch 1

Connection Diagram

diagram

About

A 3D Printed Hexapod Robot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 70.8%
  • Python 12.4%
  • Kotlin 10.7%
  • C++ 4.6%
  • Jupyter Notebook 1.5%