Quasi-Direct Drive and 3-Phase Inverter

Driving brushless motors using a custom PCB

Project at a glance

  • Designed a four-layer STM32 inverter for three-phase BLDC motor control.
  • Integrated encoder feedback, current sensing, CAN, and regenerative overvoltage protection.
  • Built a modular 19:1 cycloidal gearbox and iterated through multiple PCB revisions.

Speed Control Test with 19:1 Cycloidal Gearbox

Space Vector PWM Implemented

6-Stage Commutation with varying target velocity

exploded Exploded view of the cycloidal gearbox

Why?

I designed a custom ESC to better understand three-phase motors and their control. These motors are widely used in precision robotic actuators. I am currently testing the fourth PCB revision.

I also designed a modular cycloidal gearbox and housing so the actuator can be reused in future robotics projects.

V3 Version 3 — buck-converter problems

V2 Version 2 - had layout problems

V1 Version 1 - missing critical components

What?

I designed a two-sided, four-layer board in KiCad and had it fabricated and assembled by JLCPCB. It supports encoder communication over I2C and SPI, CAN and UART communication with an external MCU, regenerative overvoltage protection through a brake-resistor circuit, and current and voltage monitoring. Testing has confirmed operation up to 1 kW, although I am still characterizing its full power limits.

How?

Electrical Design

I designed the board in KiCad using component datasheets and reference designs from other engineers.

top Three-stage buck converter and connectors

bottom MCU, Gate Drive, Overvoltage and CAN IC circuits

Mechanical Design

I designed the mechanical assembly in Onshape. It uses two cycloidal disks positioned 180 degrees out of phase to reduce vibration, with bearings at each rotating interface to reduce friction.

exploded Exploded view

general

The key dimensions are parameterized so the design can accommodate different motors, gear ratios, and output bolt patterns.

section Section view

Tuning the tolerances required the most iteration because they directly affect efficiency and backlash.

backmotor Back motor mount install

pins Pin install

pcb PCB install

eccentric First eccentric shaft

firstcycloid First cycloid install

firstcycloid Output shaft install

Problems and Revisions

The first revision had two major assembly errors. I omitted a required gate-driver capacitor after mistaking it for a non-critical decoupling component. The driver would not operate without it, so I soldered an external capacitor directly to the pin as a temporary fix (red). I also installed a resistor where capacitor 5C3 belonged (blue), which required reworking a 0402 component.

mistake

That revision reinforced the value of a complete schematic and bill-of-materials review before manufacturing.

Related albums

Three-Stage Buck Converter

Three-Stage Buck Converter

  • Designed a three-stage board providing 12 V, 5 V, and 3.3 V power rails.
  • Validated the 10 W supply under load and measured output ripple with an oscilloscope.
  • Used the prototype to de-risk power delivery for a larger custom motor controller.
Automated Dog Treat Launcher

Automated Dog Treat Launcher

  • Built an automated treat dispenser with a lead-screw elevator and differential turret.
  • Integrated servos, sensors, custom PCB wiring, and jam detection.
  • Programmed an autonomous daily dispensing cycle with fault handling.
Honda Cobot Assembly Demo

Honda Cobot Assembly Demo

  • Helped create a UR10e cobot demo that assembled a 3D-printed Honda CR-V model.
  • Designed a magnetic rack-and-pinion end effector with Arduino-controlled tooling.
  • Achieved a 100% assembly success rate throughout the public demo day.