Quadraped Robot
A bluetooth-controlled spider robot that can move around via 8 servos.
Author: Alexandru-Bogdan Gherghiceanu
GitHub Project Link: https://github.com/UPB-PMRust-Students/acs-project-2026-alexgherghiceanu
Description
This project is a bluetooth controlled spider robot that you can sync up to your phone/tablet. From your device you can control it's speed,direction of travel and issue it extra gestures and commands, such as a wave.
Motivation
From a young age, I have been interested in robots and the process of building them. Futhermore, I have been following the progress of boston dynamics projects for a long time, so I knew that I wanted to build a quadraped robot myself. When I recently watched the movie Project Hail Mary, I decided that a spider is the best shape for my project to take.
Architecture
Log
Week 16 - 22 March
Decided on the project idea
Week 13 - 19 April
Ordered the necessary hardware components.
Week 20 - 26 April
All hardware components arrived.
Week 27 April - 3 May
Started writing the documentation and modifying the source chasis to fit my components.
Week 5 - 11 May
Finalized source chasis and printed the first version in order to start test-fitting components.
Week 12 - 18 May
Tested all individual components, finalized the second version of the chasis and started writing the software required to run the robot.
Week 19 - 25 May
Completed and uploaded the main portion of the software, with only minor addition left if time allows. Also performed first complete assembly to confirm everything fits correctly.
Hardware
The main brain of the project is the STM32 Nucleo-U545RE-Q microcontroller provided by the PM team. This takes the input from the HM-10 Bluetooth module and processes it into a signal the i2c controller can then give to the PCA9685 Servo Driver. From there, the signal is passed on to the 8 servomotors that power our robot spider, 2 in each leg. The system is powered by a 1000mAh 7.4v LiPo 2 cell batery and will be built on a modified version of the chasis of the Sesame spider-robot linked in the link section.
Schematics

Bill of Materials
Software
| Library / Tool | Description | Usage |
|---|---|---|
| embassy-stm32 | STM32 Hardware Abstraction Layer | Used to control the Nucleo board's pins, allowing the microcontroller to talk to the PCA9685 driver via I2C and to the HM-10 Bluetooth module via UART. |
| embassy-executor | Async executor for embedded devices | Used to run the main loop of the robot, processing incoming Bluetooth commands and updating motor angles smoothly. |
| embassy-time | Timekeeping and delay library | Used to create the necessary delays between the robot's animation frames so it walks correctly, and to handle Bluetooth read timeouts. |
| defmt & defmt-rtt | Logging framework and transport | Used to print debugging info and state changes directly to my laptop's terminal to track what the brain is doing. |
| panic-probe | Panic handler | Used to catch program crashes and print the error backtrace to the terminal, making debugging much easier. |
| probe-rs | Debugging and flashing tool | Used to seamlessly compile, flash, and run the Rust code onto the STM32 board using the simple cargo run command. |