Team leadership
Led a multidisciplinary team of five engineers, coordinated subsystem ownership, and kept the electrical, firmware, and mechanical work aligned around shared interfaces.
Team Lumon · Robotics

System architecture
I helped define a distributed architecture in which a central host coordinates independent motor-control nodes. This kept time-critical motor control local while allowing the robot to synchronize multiple cable axes over a shared CAN network.
The host prepares buffered position, velocity, and tension command data for each cable axis.
Classic CAN distributes addressed commands and synchronized updates across the motor controllers.
Each controller combines encoder feedback with feed-forward and PID correction at 1 kHz.
A TMC2209 receives STEP/DIR signals to move the winch while the AS5600 closes the position loop.
My contribution
Led a multidisciplinary team of five engineers, coordinated subsystem ownership, and kept the electrical, firmware, and mechanical work aligned around shared interfaces.
Played a major role in shaping the distributed control architecture, including the boundaries between the host controller, CAN network, motor-control nodes, encoders, and cable winches.
Designed the custom motor-controller PCB in Altium Designer, translating the controller requirements into a board that integrated the STM32, motor-driver, encoder, communication, and debug interfaces.
Developed firmware around the STM32 HAL and CubeMX configuration, separating peripheral setup, communication, encoder acquisition, motion control, step generation, and diagnostics into focused modules.
Implemented a 1 kHz position-control path using DMA-based AS5600 feedback, multi-turn position tracking, feed-forward plus PID correction, and acceleration and velocity limiting.
Built the addressed Classic CAN command flow, synchronized command buffering, controller telemetry, UART diagnostics, and fault handling needed to integrate and test the subsystem.
Controller stack
MCU
STM32G0B1CBT6 · Arm Cortex-M0+ · 64 MHz
Motor stage
TMC2209 over UART with STEP/DIR control
Feedback
AS5600 12-bit magnetic encoder over I²C DMA
Network
Classic CAN · 500 kbit/s · addressed nodes
Control
1 kHz feed-forward and PID position loop
Toolchain
STM32CubeMX · HAL · CMake · Ninja · GNU Arm
Project media
Development footage and hardware close-ups from the complete cable-driven parallel robot.



This project strengthened my ability to move between system-level decisions and implementation details. I gained practical experience designing a PCB in Altium Designer, structuring embedded firmware, working with the STM32 HAL, integrating communication and sensing peripherals, and debugging the boundary between hardware and software. Leading the team also taught me how clear interfaces and shared architectural decisions make parallel engineering work more effective.