Hexapod
A custom 6-legged walking robot with 3D-printed parts, 18 MG996R servos and a Raspberry Pi 5, built from scratch.
- Humanoid
- Open source
- Work in progress
- 3D printable
Suggested by Robotheca, created by @mike-tr (opens in a new tab), from github.com/mike-tr/Hexapod (opens in a new tab). Pinned to commit f9cfdc3 (opens in a new tab).
- Hardware license
- MIT (opens in a new tab)
- Software license
- MIT (opens in a new tab)
- Commercial use
- Allowed
This repository contains executable files that Robotheca doesn't check. Only run them if you trust the creator.
Which files (9 files marked executable, 2 scripts, 8 programs or installers)
- hexapod/lib/python3.11/site-packages/setuptools/cli-32.exe (opens in a new tab)
- hexapod/lib/python3.11/site-packages/setuptools/cli-64.exe (opens in a new tab)
- hexapod/lib/python3.11/site-packages/setuptools/cli-arm64.exe (opens in a new tab)
- hexapod/lib/python3.11/site-packages/setuptools/cli.exe (opens in a new tab)
- hexapod/lib/python3.11/site-packages/setuptools/gui-32.exe (opens in a new tab)
- hexapod/lib/python3.11/site-packages/setuptools/gui-64.exe (opens in a new tab)
- hexapod/lib/python3.11/site-packages/setuptools/gui-arm64.exe (opens in a new tab)
- hexapod/lib/python3.11/site-packages/setuptools/gui.exe (opens in a new tab)
- hexapod/bin/Activate.ps1 (opens in a new tab)
- load.sh (opens in a new tab)
- hexapod/bin/pip (opens in a new tab)
- hexapod/bin/pip3 (opens in a new tab)
- hexapod/bin/pyserial-miniterm (opens in a new tab)
- hexapod/bin/pyserial-ports (opens in a new tab)
- hexapod/lib/python3.11/site-packages/adafruit_blinka/microcontroller/amlogic/a311d/pulseio/libgpiod_pulsein (opens in a new tab)
- hexapod/lib/python3.11/site-packages/adafruit_blinka/microcontroller/amlogic/a311d/pulseio/libgpiod_pulsein64 (opens in a new tab)
- hexapod/lib/python3.11/site-packages/adafruit_blinka/microcontroller/amlogic/meson_g12_common/pulseio/libgpiod_pulsein (opens in a new tab)
- hexapod/lib/python3.11/site-packages/adafruit_blinka/microcontroller/bcm283x/pulseio/libgpiod_pulsein (opens in a new tab)
- hexapod/lib/python3.11/site-packages/adafruit_blinka/microcontroller/bcm283x/pulseio/libgpiod_pulsein64 (opens in a new tab)
Photo and 3D model

3D preview converted from github.com/mike-tr/Hexapod at f9cfdc3, under MIT. View the original files from GitHub (9.6 MB) (opens in a new tab)
What it can do
Written by Robotheca from the project's documents.
- Walks with a tripod gait and can turn, per the status notes.
- Uses inverse kinematics to position each leg's three joints.
- Supports remote control through a client/server setup.
- Camera integration and vision processing are planned but not yet done.
- Each leg has three degrees of freedom: coxa, femur and tibia joints.
Bill of materials
This repository has no parts list Robotheca can read yet.
Build guide
The creator's steps, each with its instructions.
- 1Design the legs and chassis in FreeCAD
- 23D print the leg and body parts
- 3Assemble the first three legs
- 4Assemble all six legs
- 5Mount the PCB and Raspberry Pi 5 to the chassis
- 6Wire all 18 servos to the PCB
- 7Implement inverse kinematics
- 8Implement the tripod gait for walking and turning
The guide appears here as you scroll.
Guide by @mike-tr (READMe.md), under MIT.
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- Raspberry Pi 5 as the main controller.
- 18 MG996R servos, three per leg.
- Freenove Big Hexapod Robot PCB, reused from a kit.
- 18500 flat cells as the battery.
Connections
- All 18 servos are wired to the Freenove PCB.
- The PCB and Raspberry Pi 5 are mounted to the chassis together.