Steering Motor Controller PCB (STM + PID)
July 2025
This was my first project for the McGill Robotics team. Specifically, the Mars Rover project. It was a motor controller for the steering system based on an STM32 MCU + DRV8874 driver running a PID loop responding to quadrature encoder feedback. It was also controlled by CANbus messages from the central rover computer. Not only was this my first PCB, it was also my first time working with an ST microcontroller and coding in C. To top it all off I had no idea what CANbus was before this. I ended up spending a large portion of the summer debugging problems in this board (CAN filter hardware was a pain). In the summer of 2025 I had a remote internship-esque job (AI fine-tuning), so I was able to wake up early to do my job then spend the rest of the day in the workshop working on this board. Suffice to say, this project was a huge level-up.