Skip to content

Quadruped Bai Servo v1

A low-cost 12-DOF quadruped robot actuated by hobby servos, with optional feet sensors and a trot gait firmware.

  • Quadruped
  • Open source
  • arduino
  • 3D printable

Suggested by Robotheca, created by @psrobotics (opens in a new tab), from github.com/psrobotics/quadruped_bai_servo (opens in a new tab). Pinned to commit 60c67f2 (opens in a new tab).

Photo and 3D model

Quadruped Bai Servo v1, photo from its repository
Photo:@psrobotics (opens in a new tab)BSD-3-Clausesource file (opens in a new tab)

3D preview converted from github.com/psrobotics/quadruped_bai_servo at 60c67f2, under BSD-3-Clause. View the original files from GitHub (5.5 MB) (opens in a new tab)

Degrees of freedom
12

What it can do

Written by Robotheca from the project's documents.

  • Walks with a trot gait generated by a simplified state machine that synchronizes open foot trajectories
  • Adjusts body roll and pitch during stance phase using IMU feedback
  • Balances, as shown in the project's video
  • Controlled at the kinematic level only, without resisting external impacts while walking
  • Can be wirelessly controlled through an additional serial port connected to a wireless or Bluetooth module

Bill of materials

32 parts

32 of 32 parts shown

Parts list
#ComponentQuantityEst. priceSupplier
1leg_tip2–STL file
2leg_tip_MIR2–/
3leg_22–/
4leg_2_MIR2–/
5leg_link_12–/
6leg_link_1_MIR2–/
7leg_link-12–/
8leg_link-1_MIR2–/
9leg_12–/
10leg_1_MIR2–/
11leg_1_22–/
12leg_1_2_MIR2–/
13servo_holder_12–/
14servo_holder_1_MIR2–/
15hip_joint_holder_12–/
16hip_joint_holder_1_MIR2–/
17hip_holder_22–/
18hip_holder_2_MIR2–/
19joint_ab_holder2–/
20body_bridge2–/
21body_frame_21–/
22body_frame_11–/
23pcb_holder2–/
24M3*820–/
25M3*1230–/
26M3*1620–/
27M2*850–/
28M2*1550–/
29M2*2020–/
30M2*2620–/
31SF-1 0305 Self Lubricating Composite Bearing Bushing Sleeve25–ebay: buy SF-1 0305 Self Lubricating Composite Bearing Bushing Sleeve, opens in a new tab
32EMAX ES08A II Servo12–EMAX: buy EMAX ES08A II Servo, opens in a new tab

32 of 32 parts have no price in the source, so there is no parts total. Read from README.md at the pinned commit.

Build guide

The creator's steps, each with its instructions.

  1. 1Print all leg, holder and body parts (infill 70%)
  2. 2Insert bearings into the 5mm rotation joint holes
  3. 3Assemble two legs, then two mirrored legs
  4. 4Link all legs to the body frame
  5. 5Optionally assemble the micro-switch feet sensors
  6. 6Add high-friction coating to the feet tips
  7. 7Pre-calibrate servos with an initial PWM signal before installing
  8. 8Assemble the controller board, IMU and DC-DC converter module
  9. 9Mount the battery shelf under the robot frame
  10. 10Upload firmware via ICSP and tune servo calibration

The guide appears here as you scroll.

Guide by @psrobotics (README.md), under BSD-3-Clause.

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • 12 EMAX ES08A II analog hobby servos as actuators, one per joint
  • Controller board built around an ATmega328P microcontroller with servo controller
  • MPU6050 IMU on the controller board
  • Integrated boost DC-DC converter module set to 5.5V output to power servos
  • Single-cell lithium battery (18650 or 18350) with high current output
  • Optional micro switch based feet sensors

Connections

  • Controller board connects to the DC-DC converter through a dedicated DC-DC slot
  • The DC-DC converter powers the servos
  • Hardware IIC pins A4 and A5 are used by the MPU6050 IMU
  • An additional serial port on the controller board connects to an optional wireless or Bluetooth module
  • Firmware is uploaded through ICSP and debugging uses the external serial port