Skip to content

Hexapod Robot

A six-legged robot powered by a Raspberry Pi Pico, featuring 18 digital servos, IMU auto-leveling, and multiple control inputs.

  • Quadruped
  • Open source
  • Work in progress
  • 3D printable

Suggested by Robotheca, created by @gitcfyang (opens in a new tab), from github.com/gitcfyang/hexapod_robot (opens in a new tab). Pinned to commit 496f54f (opens in a new tab).

Hardware license
GPL-3.0-only (opens in a new tab)
Software license
GPL-3.0-only (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 (1 script)

Photo and 3D model

This repository has no photo of the robot yet.

3D preview converted from github.com/gitcfyang/hexapod_robot at 496f54f, under GPL-3.0-only. View the original files from GitHub (12.0 MB) (opens in a new tab)

Degrees of freedom
18

What it can do

Written by Robotheca from the project's documents.

  • Walks with four gaits (triangle 6/8, ripple, wave) and bio-inspired variable speed
  • Balances in place using IMU auto-leveling (optional)
  • Supports three control inputs: ELRS CRSF radio, PS2 gamepad, or USB serial
  • Runs inverse-kinematics solver at 50–200 Hz with adjustable control loop
  • Has factory preset modes (unlock, balance, gait, stand pose) mapped to remote channels
  • Stores 92 runtime parameters in flash (persist across power cycles)
  • Logs events (boot, battery, calibration) in a ring buffer
  • Provides TCP/IP remote access via built-in serial-to-TCP bridge

Bill of materials

38 parts

38 of 38 parts shown

Parts list
#ComponentQuantityEst. priceSupplier
1主体硬件 机器人框架1–Supplier: buy 主体硬件 机器人框架, opens in a new tab
2舵机18–Supplier: buy 舵机, opens in a new tab
3PCB pcb本体1–Supplier: buy PCB pcb本体, opens in a new tab
4XT60M U161–Supplier: buy XT60M U16, opens in a new tab
5开关(两档) KEY11–Supplier: buy 开关(两档) KEY1, opens in a new tab
60630 47uH L11–Supplier: buy 0630 47uH L1, opens in a new tab
7220uF 10V U17,U282–Supplier: buy 220uF 10V U17,U28, opens in a new tab
8S8050 Q1,Q2,Q31–Supplier: buy S8050 Q1,Q2,Q3, opens in a new tab
90805 蓝LED,红LED LED1,LED22–Supplier: buy 0805 蓝LED,红LED LED1,LED2, opens in a new tab
10SMBJ12A D1,D2,D31–Supplier: buy SMBJ12A D1,D2,D3, opens in a new tab
11KF301 2P P2,P32–Supplier: buy KF301 2P P2,P3, opens in a new tab
122.54 1*7P U291–Supplier: buy 2.54 1*7P U29, opens in a new tab
13XH2.54 6P CN11–Supplier: buy XH2.54 6P CN1, opens in a new tab
140805 100nF C1,C2,C3,C4,C5,C61–Supplier: buy 0805 100nF C1,C2,C3,C4,C5,C6, opens in a new tab
15PCA9685PW U1,U22–Supplier: buy PCA9685PW U1,U2, opens in a new tab
16PICO(不焊接) U231–Supplier: buy PICO(不焊接) U23, opens in a new tab
173*4P 2.54 U4,U5,U6,U7,U8,U9,U10,U111–Supplier: buy 3*4P 2.54 U4,U5,U6,U7,U8,U9,U10,U11, opens in a new tab
18BNO055(不焊接) U121–Supplier: buy BNO055(不焊接) U12, opens in a new tab
19AO4407A U24,U252–Supplier: buy AO4407A U24,U25, opens in a new tab
203*4 贴片2脚 按钮 U311–Supplier: buy 3*4 贴片2脚 按钮 U31, opens in a new tab
21SS14 1N5819 U261–Supplier: buy SS14 1N5819 U26, opens in a new tab
22蜂鸣器 U211–Supplier: buy 蜂鸣器 U21, opens in a new tab
23LM2596S-5.0 U151–Supplier: buy LM2596S-5.0 U15, opens in a new tab
240805 10K R1,R2,R6,R71–Supplier: buy 0805 10K R1,R2,R6,R7, opens in a new tab
250805 4.7K R3,R41–同上
260805 1K R5,R8,R9,R111–同上
270805 220 R10,R12,R131–同上
280805 330K R141–同上
290805 47K R151–同上
300805 10 R161–同上
310805 100 R17,R181–同上
32遥控器及接收机 PS2手柄套装 手柄+横插转接板XH2.541–Supplier: buy 遥控器及接收机 PS2手柄套装 手柄+横插转接板XH2.54, opens in a new tab
33电池及充电器 2S2P 18650(田字)1–Supplier: buy 电池及充电器 2S2P 18650(田字), opens in a new tab
34充电器1–Supplier: buy 充电器, opens in a new tab
35其他 xh2.54 6P 连接线 双头同向1–Supplier: buy 其他 xh2.54 6P 连接线 双头同向, opens in a new tab
36舵机延长线 60芯棕红橙6–Supplier: buy 舵机延长线 60芯棕红橙, opens in a new tab
373m双面胶带(粘电路板)1––
38扎带(整理线材)1––

38 of 38 parts have no price in the source, so there is no parts total. Read from hardware/bom/hexapod_bom.csv at the pinned commit.

Build guide

The creator's steps, each with its instructions.

  1. 1Assemble mechanical structure
  2. 2Install servos and wiring
  3. 3Mount Raspberry Pi Pico and PCA9685 boards
  4. 4Connect IMU (BNO055)
  5. 5Install battery and power management
  6. 6Flash firmware and calibrate servos
  7. 7Configure and test control inputs

The guide appears here as you scroll.

Guide by @gitcfyang (README.md), under GPL-3.0-only. The English translation is by Robotheca, shared under the same license.

More guides

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • Raspberry Pi Pico (RP2040) MCU
  • Two PCA9685 16-channel PWM driver boards for 18 digital servos
  • 2S 18650 battery pack with XT60M connector
  • AO4407A MOSFETs for servo power switching
  • LM2596S-5.0 buck converter for 5 V logic
  • SMBJ12A/18A TVS diodes on power rails
  • XT60M power input, two-position switch, 47 µH inductor, 220 µF 10 V capacitors
  • Dual LEDs, passive buzzer, six foot-end micro-switches
  • PS2 remote receiver and gamepad kit
  • ELRS CRSF radio receiver (optional)
  • GP28 ADC2 with 330 kΩ + 47 kΩ divider for battery monitoring

Connections

  • Pico UART0 exposed on GP0/GP1 for external use
  • Pico GP26/GP27 available for external I2C or ADC
  • PCA9685 PWM outputs wired to 18 digital servos
  • Servo power rail switched by AO4407A MOSFETs controlled from Pico GP pins
  • XT60M battery input → LM2596S-5.0 → 5 V logic rail
  • Battery voltage divider (330 kΩ + 47 kΩ) to Pico GP28 ADC2
  • Foot-end micro-switches on GP16–GP21
  • PS2 receiver connected via XH2.54 6P connector
  • CRSF receiver connected via KF301 2P connectors

Cables and connectors

From the parts list.

  • XH2.54 6P CN1 × 1
  • 遥控器及接收机 PS2手柄套装 手柄+横插转接板XH2.54 × 1
  • 其他 xh2.54 6P 连接线 双头同向 × 1
  • 扎带(整理线材) × 1

Schematics, boards and diagrams