Skip to content

3 KB

Machine-translated by Robotheca from the original in Chinese (opens in a new tab). License: MIT (opens in a new tab).

STM32 Quadruped Robot

Project Origin and Contributions

  • Original project author: 我的STM 32又烧了
  • This open-source version: Contributors completed gait optimization, serial port stability, servo protection, and engineering structure optimization on the basis of the original project, and organized it into publicly reusable software and hardware documentation packages.

Do not interpret this repository as a re-signature version that erases the original author; the original project contributions always belong to 我的STM 32又烧了, and subsequent optimizations belong to the respective contributors.

This is an open-source quadruped robot documentation package with the STM32F103C8T6 as the control core, including a streamlined Keil firmware project, JLCPCB EDA project, Gerber board files, schematic previews, and a basic bill of materials.

This version focuses on optimizing the non-blocking gait state machine, forward/backward parameters and left/right adjustments, serial port packet boundary detection and exception recovery, servo angle clamping, and safe termination after WS2812 DMA timeout.

Hardware Preview

SchematicPCB
Quadruped Robot SchematicQuadruped Robot PCB

This public documentation only includes the following three actions as core functions:

  • Forward: Send @UP#* via Bluetooth
  • Backward: Send @BACK#* via Bluetooth
  • Lift leg/Resume standing: Send @TJ#* via Bluetooth

The source code retains some auxiliary actions and peripheral examples, but they are not part of the project's primary functionality commitments. Before operating the robot, ensure the body is suspended and verify that the servo directions, mechanical limits, power supply, and common ground connections are correct.

Table of Contents

  • firmware/Keil/: uVision project and source code for STM32F103C8T6. The project has the HEX output option enabled.
  • hardware/easyeda/: JLCPCB EDA project.
  • hardware/manufacturing/: Gerber and drill manufacturing files.
  • hardware/images/: Schematic and PCB preview images.
  • hardware/BOM.md: Basic bill of materials with promotional content removed.
  • docs/BLUETOOTH.md: Connection and command instructions for HC-05 and compatible mobile controllers.
  • docs/EXTENSIONS.md: Extendable interfaces and ultrasonic integration boundaries.
  • THIRD_PARTY_NOTICES.md: Copyright/license boundaries for third-party code and resources.

Building

The project targets the STM32F103C8T6, using Keil MDK/uVision 5, ARM Compiler 5, and the STM32F10x Standard Peripheral Library. After opening firmware/Keil/Project.uvprojx, execute Rebuild. Since the current environment does not include Keil, this repository will not falsely claim "compiled successfully."

The public project intentionally omits Objects/, Listings/, local IDE state files, and build logs. If using a different version of Keil or startup files, please first verify the clock, Flash/RAM configuration, and servo PWM output.

License

The code, documentation, and hardware design materials to which the original authors and contributors have granted rights are released under the MIT License, see LICENSE. Official STM32 libraries, CMSIS, and other third-party content do not automatically inherit the MIT License, see THIRD_PARTY_NOTICES.md.

Bluetooth Application Instructions

This project is compatible with the third-party application Arduino Bluetooth Controller (package name com.giumig.apps.bluetoothserialmonitor, version 1.3). This application is not included in this repository and is not covered by the MIT License of this project; please obtain it from an official source where you are authorized to use it. The reviewed reference APK SHA-256 is:

8E6A217664655713485AB4B0FB880E5CC4C3CBBC2B0BA25837BB42F39D62E7E0

Author Attribution

If you republish, modify, or create derivative versions, please retain the original project's author attribution "我的STM 32又烧了" (My STM32 Got Burned Again), contribution notes, and the corresponding license/third-party statements.

Files by @JayooYuan, at commit d65b676, read from GitHub in your browser. Hardware license: MIT; software license: MIT. Robotheca doesn't review code: read it before running it.