Quasi-Direct Drive and 3-Phase Inverter
Driving brushless motors using a custom PCB
Speed Control Test with 19:1 Cycloidal Gearbox
Space Vector PWM Implemented
6-Stage Commutation with varying target velocity
Exploded view of the cycloidal gearbox
Why?
I made a custom ESC to better understand 3-phase motors and how they are driven. 3-phase motors are everywhere and are the go-to for precision robotic actuators. I’m currently testing with iteration #4 of the PCB.
I also made a modular cycloidal gearbox and housing for the actuator – I intend to use these actuators for robotics projects in the future.
Version 3 - had problems with buck convertor
Version 2 - had layout problems
Version 1 - missing critical components
What?
I made a 2-sided, 4 layer board using KiCAD and had it made/assembled using JLCPCB. It has encoder communication support via I2C and SPI, CAN/UART support for talking to a MCU, a brake resistor circuit for overvoltage protection, and current/voltage monitoring. I am still measuring exactly how much it can power it can handle, but I know for sure it can do up to 1kW.
How?
Electrical Design
I designed the board in KiCAD. I spend a lot of time looking at datasheets and other peoples work.
3 Stage Buck Convertor and Connectors
MCU, Gate Drive, Overvoltage and CAN IC circuits
Mechanical Design
I built the design in Onshape. It features two cycloidal disks 180 degrees out of phase to reduce vibrations. I useds bearings on every surface I could to reduce friction.
Exploded view

All of the parameters are adjustable. My idea was to make the design very generalized so you can use different motors, gear ratios and output screw hole patterns.
Section view
The longest part of the design has been getting the tolerances right – tolerances impact efficiency and backlash a lot so I tried to spend more time to dial them in as best as I could.
Back motor mount install
Pin install
PCB install
First eccentric shaft
First cycloid install
Output shaft install
Firmware and Controls
Problems
ESC V0.1
So far I made two really big mistakes – I didnt’ add a capacitor to one of the gate drive outputs because I thought was unnecessary. I thought it was a basic decoupling cap, but turns out, without it, the chip doesn’t run at all… for now I’ve soldered to the pin (red) and have an external capacitor connected. I also got a component (5C3) mixed up and used a resistor instead of a capacitor (blue). Without the capacitor, chip doesn’t run… Desoldering the 0402 component sure was fun.

Now at least I know to take the extra day to triple check everything…
Related albums
10W Three Stage Buck Convertor
9 photos
Turreting Treat-Launching Catapult for my Dog
19 photos
Honda Canada Mfg. Open House 2025
5 photos