Motor control / Embedded systems
Motor Driver Boards & Control Firmware
- Motor control
- FOC
- PCB design
- STM32
Developed as part of professional work. Architecture is described at a high level; proprietary schematics, source code and client details are omitted.
The problem
Different products across the same engineering team need different motors — brushed DC, BLDC, stepper, and servo — each with different drive requirements. Rather than a one-off driver per project, the goal was reusable driver hardware and control firmware across drive topologies. TODO(berk): confirm this framing and add the specific product lineup that drove it.
My role
I designed the driver PCBs and the embedded control algorithms for all four motor types, working across direct PWM, open-loop, closed-loop, FOC, and trapezoidal drive, plus the system-integration work to fit each driver into its target product.
Constraints
TODO(berk): voltage/current ranges per motor type, cost targets, board size constraints, EMI/safety requirements.
System architecture
TODO(berk): block diagram (SVG) showing the common driver architecture and where each motor topology diverges (gate drive, current sensing, feedback).
Firmware design
TODO(berk): control loop structure per topology (direct PWM, open/closed loop, FOC, trapezoidal), commutation/feedback method per motor type, fault handling (overcurrent, stall, thermal).
Communication
TODO(berk): how each driver is commanded — CAN, UART, PWM input — and why that interface for this class of product.
Hardest problem
TODO(berk): pick the hardest of the four topologies to get right and describe the failure, diagnosis, and fix.
Result
TODO(berk): measured outcome — efficiency, torque ripple, units built, product lines using these drivers.
What I’d do differently
TODO(berk)