Embedded robotics platform built on STM32H753 for advanced servo control, sensor fusion, and real-time communication.
- 6 RS485 channels for Dynamixel servo communication
- IMU integration for 6-axis motion sensing
- USB CDC ACM virtual serial interface with DMA
- Power monitoring with battery voltage/current sensing
- Fan control with thermal management
- GPIO support for buttons and digital I/O
- MCU: STM32H753VI (Cortex-M7, 480MHz, 2MB Flash, 1MB RAM)
- USB: High-speed USB 2.0 with ULPI PHY
- Communication: 6 independent RS485 channels
Built with Embassy async framework:
src/peripherals/- Hardware abstraction layersystem.rs- Clock and system initializationusb_system.rs- USB device managementacm.rs- CDC ACM packet-based interface
src/apps/- Application layerecho_app.rs- USB communication test
# Install Rust target and tools
rustup target add thumbv7em-none-eabi
cargo install probe-rs --features cli
# Build and flash
cargo runConnect via USB - device appears as virtual serial port:
# Linux/macOS
screen /dev/ttyACM0 115200
# Test with echo app - type messages to see them echoed back- Hardware drivers →
src/peripherals/ - Applications →
src/apps/ - Initialize in
main.rs
Use VS Code with the probe-rs extension for integrated debugging and real-time logging.
MIT License - see LICENSE file.