Editor Version ×

1.Easy to use and quick to get started

2.The process supports design scales of 300 devices or 1000 pads

3.Supports simple circuit simulation

4.For students, teachers, creators


1.Brand new interactions and interfaces

2.Smooth support for design sizes of over 30,000 devices or 100,000 pads

3.More rigorous design constraints, more standardized processes

4.For enterprises, more professional users

PRO Tracked Quadruped Composite Robot【OSHWHub】

  • 154
  • 0
  • 0

Profile:Introduction: ESP32-WROVER-E is the main control MCU. The walking robot has two walking modes: quadruped walking and crawler walking. There are 8 DOFs in the quadruped form. The foot end is integrated into the crawler mechanism, which is driven by 4 DC motors

License: GPL 3.0

Creation time: 2023-08-25 18:51:31
Update time: 2023-08-28 15:46:41
project from OSHWHub user 杜邦线丶小战士


update log

Modified structure section shopping list
Master Version 2.0 verified successfully
Motor driver replacement: TB6612FNG —> RZ7899. Optimized the soaring price of the TB6612FNG chip and the uncontrolled rotation of the boot track;
The main control is replaced by ESP32-PICO-D4. Compared with ESP32-WROVER, the cost is reduced, the pin resources are more, the layout space is optimized, the overall performance is not much different, and the disadvantage is that it is not easy to solder;
Deleted the DET402G buzzer;
Deleted the MITSUMI dial encoder;
One more WS2812B-2020 lamp bead is added;
One more serial port is drawn out, and the satellite positioning module is planned to be connected externally; (I want to ask why three serial ports are drawn out, and two of them are not merged into one to save pin resources. Sorry, I just thought of it...
An extra IIC 2.54 - 4P pin header is introduced;
A new Schottky diode is added for the M3 copper pillar holes where the main control board and the expansion board can communicate with each other to adjust whether they communicate with each other and the conduction direction;
One motor is damaged during debugging, return to factory for repair
Upload the step file of the robot assembly
Since it is planned to replace all drive motors with brushless motors BLDC, it will take some time to study.
Updated some links, fixed some content

1.Project introduction

In this project, the crawler-type composite robot has two travel modes: quadruped travel mode and crawler travel mode, which can switch forms when dealing with different scenes and terrains. There are a total of 8 degrees of freedom DOF in the quadruped form, and each leg has 2 degrees of freedom DOF. The foot end structure is integrated into the crawler mechanism, and each crawler mechanism is equipped with a DC motor drive.
The MCU module of the robot main control board is ESP32-WROVER-E (V2.0 version is ESP32-PICO-D4), which can realize the control of bus servo + PWM servo + DC motor, and includes other hardware resources: Six-axis acceleration sensor, OLED screen interface, RGB lamp beads, buzzer, etc.
The tracked vehicle form can maintain a high speed on flat or slightly rugged terrain, reducing the power consumption of quadruped crawling; the quadruped form is used to cross obstacles, flexibly respond to various complex terrain environments, and solve the height problem of the track structure. The pain point that the terrain with a large drop is difficult to overcome is the realization of the leg-shoe collaboration that combines the dual advantages of the bionic quadruped and the crawler structure.
Original idea source - "Titan" heavy tank in "Call of Duty 11: Advanced Warfare":

2.Electronic control hardware function

2.1 Main control board:
2.1.1 Motor drive:
6-way serial bus servo interface: PH2.0-3P, 74HC126D
4-way DC motor driver: TB6612FNG
2.1.2 Indicating device:
1 six-axis acceleration sensor: MPU6050
1 piece Dial encoder: MITSUMI
1 ordinary miniature passive buzzer: DET402-G
1 ordinary light-emitting LED: 0603
1 0.96-inch 4-pin OLED screen interface: HDR-1*4P-F
3 ordinary RGB lamp beads: WS2812B-2020
2.1.3 Expansion interface:
2-way expansion IIC interface: PH2.0-4P
1 channel WS2812B lamp bead interface: HDR-M-2.54-3P
2.2 Expansion board:
16-way PWM servo driver: PCA9685

3.Brief description of selection

3.1 Motor selection:
1.Serial bus steering gear selection: model: HTS-35H, rated voltage: 9.0~12.6V, serial communication baud rate 115200, rated torque: 35kg.cm/3.5N.m. Communication needs to convert UART full-duplex to half-duplex, according to the communication protocol manual and schematic diagram provided by the Hull servo manufacturer, use 74HC126D to realize;
2.Selection of PWM steering gear 【Economic plan】: model: MG996R, rated torque: 13kg.cm/1.3N.m. There is no problem with the common large steering gear with the expansion board. Pay attention to whether the power supply voltage matches at the arrow. (Pay attention to the power supply connection, the main control board and the expansion board can be connected to the power supply through copper pillars)
3.PWM servo expansion control board;
4.DC motor selection: model: JGA25-370-1260, rated voltage: 12.0V, reduction ratio: 1:103, no-load speed: 60 rpm. In the V1.0 version of the main control, the TB6612FNG driver is used [considering the discontinuation of production and price issues, V2.0 has been replaced by RZ7899];
3.2 Other selections:
  1. Six-axis acceleration sensor: MPU6050. Usually choose, the definition in the source code supports the use of DMP to obtain the quaternion, and then solve the Pitch and Roll angles (the yaw angle is too floating), and the QFN package may not be easy to solder.
    3.2 Other selections:
    1. Six-axis acceleration sensor: MPU6050. Usually choose, the definition in the source code supports the use of DMP to obtain the quaternion, and then solve the Pitch and Roll angles (the yaw angle is too floating), and the QFN package may not be easy to solder.
2.Chip power supply: Both 3.3V and 5V power supply are realized by LDO, namely SCJT1117-3.3 and SCJT1117-5.0. (Due to the large pressure difference, it is recommended to attach a heat sink)
3.Power supply type selection: 3S polymer model airplane motor with a discharge rate of 35C is used, but considering safety issues, it can also be driven by three 18650 power lithium batteries with a discharge rate of 10C after testing
4.Physical pictures

Main control board:

16-way PWM steering gear---expansion board:
Combination chart:
5.Mechanical structure design
The overall total weight of the robot (plus power supply) can reach 3.0kg after weighing.
At present, most structural parts are manufactured by FDM 3D printing technology, using PLA material, so the main parameters are recommended: 0.15mm layer height, 70% filling. Some need a small number of supporting parts, such as track shells - main shells, handles, front side panels of the body, etc.
Design Features:
crawler foot
  • Two degrees of freedom tandem legs
  • Quadruped form: 8 degrees of freedom
  • Fulfillment mode: 4 motor drive
  • Reserved for two degrees of freedom gimbal
  • 3D printed structure
6.Control system software design
VSCode+PlatformIO platform development, the current robot main control system mainly includes 2 parts: the underlying driver, motion control.
6.1 Underlying driver content:
Serial bus servo communication
DC motor drive
Six-axis accelerometer communication
OLED screen driver
Dial encoder reading
WS2812B-RGB lamp bead driver
Buzzer driver
WiFi communication configuration
6.2 Motion control content:
One-leg positive solution FK
One-leg inverse solution IK
Attitude inversion
Foot end cycloid trajectory calculation
Trot gait pattern
Walk gait pattern
*VMC algorithm -- pseudo-closed loop (to be tested)
6.3 Code file description:
Adafruit_NeoPixel: WS2812B lamp bead drive control (a little bug, the first lamp bead is not controlled, to be changed)
Adafruit_PWM_Servo_Driver_Library: PCA9685 communication and driver library
MPU6050: Acceleration sensor
U8g2: for 0.96-inch OLED screen driver
Hiwonde.h/.cpp: Serial bus servo communication library
ServoDrive.h/.cpp: PWM servo drive control library (PCA9685)
IOs.h/.cpp: GPIO pin configuration and control library
IMU.h/.cpp: MPU6050 acceleration sensor communication library
DCMotorDrive.h/.cpp: DC motor drive control library
FKIK.h/.cpp: One-leg forward and reverse library
MotionControl.h/.cpp: robot motion and attitude control library
7.Remote control App design
Note: Location and notification permissions need to be turned on
Design Features:
Development based on Android
Using WIFI as the wireless communication mode
Using TCP as the transport layer protocol
8.Physical prototype
Design Drawing
schematic diagram
1 /
1 /
Project Attachments
Project Members
Target complaint
Related Projects
Change a batch
Add to album ×


reminder ×

Do you need to add this project to the album?


周一至周五 9:00~18:00
  • 0755 - 2382 4495
  • 153 6159 2675


周一至周五 9:00~18:00
  • 立创EDA微信号


  • QQ交流群


  • 立创EDA公众号