Motor control / Embedded systems

Motor Driver Boards & Control Firmware

Role
Driver PCB design and embedded control algorithms
Period
Apr. 2025 — Present
Outcome
TODO(berk): a measurable result — e.g. number of driver variants shipped, current/power range covered, units built.
  • 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)