Solo Project — In Progress

Portable FOC Motor Controller

A compact, SiC-based Field-Oriented Control driver I'm building from first principles — custom PCB, control algorithms, and firmware. Designed to be a drop-in upgrade for any AC motor.

Altium DesignerSiC MOSFETsFOC AlgorithmC++DSPPCB Design

What is FOC?

Field-Oriented Control is a way to drive AC motors with DC-motor-like precision. Instead of just throwing voltage at the motor and hoping for the best (what traditional V/f drives do), FOC actually models what's happening inside the motor in real-time.

It uses Clarke and Park transforms to break down the messy 3-phase AC currents into two clean, independent values — one controls the magnetic flux, the other controls torque. This means you can change speed without losing torque, hold position at zero RPM, and run the motor near-silently.

The result? 96% energy efficiency, near-zero acoustic noise, and response times under 1 millisecond. It's the same control method used in Tesla drivetrains, industrial robots, and CNC machines.

Traditional V/f Drive
Voltage and frequency are locked together

Speed changes = torque drops. No zero-speed control. Motor whines.

FOC (This Project)
Flux and torque are independently controlled

Full torque at any speed, including 0 RPM. Whisper-quiet. 96% efficient.

Performance Comparison

How the FOC architecture I'm building compares to traditional motor drives.

ParameterTraditional (V/f)FOC (This Project)
Speed Control Accuracy2 – 3%0.01%
Torque Response Time> 10 ms< 1 ms
Zero-Speed TorqueNone150% nominal
Acoustic Noise65–75 dB< 50 dB
Energy Efficiency60 – 70%90 – 96%

What I'm Building

Every part of this controller — from the PCB layout to the control loop firmware — is designed and written by me.

SiC Power Stage

Silicon Carbide MOSFETs instead of traditional IGBTs — 3× better thermal conductivity, switching frequencies up to 50 kHz (vs 4–8 kHz), and significantly smaller form factor.

Clarke & Park Transforms

The core math that makes FOC work. Converts 3-phase AC currents (Ia, Ib, Ic) into two independent DC-like values — Id for flux, Iq for torque — so you can control them separately like a DC motor.

Decoupled Flux & Torque

In traditional drives, flux and torque are coupled — change one and the other drifts. FOC decouples them completely, so speed stays rock-solid even when the load changes suddenly.

Auto-Tuning & Sensorless

The controller automatically measures motor parameters (Rs, Ld, Lq) on first power-up. Supports sensorless operation — no encoder needed for many applications, which cuts cost and complexity.

Custom PCB Design

Designed the entire board from scratch in Altium — power stage, gate drivers, current sensing, DSP section. Not an off-the-shelf dev board — a purpose-built controller.

Zero-Speed Holding Torque

The controller can produce full holding torque at 0 RPM — critical for applications like elevators, CNC machines, or any load that needs to stay locked in position without a mechanical brake.

Design Progress

FOC Motor Controller — Motor Design

Motor simulation and design work — more images coming as the PCB build progresses.

Where This Gets Used

A portable FOC controller isn't just an academic exercise — it's a drop-in upgrade for any system that uses an AC motor.

Elevators

Smooth starts, zero rollback, silent operation — retrofit old systems without replacing the motor.

CNC Machines

Sub-millisecond torque response and precise spindle speed control under cutting loads.

Robotics

Smooth joint control, position holding, and energy efficiency for mobile platforms.

Industrial Pumps & Fans

Up to 35% energy savings on variable-load applications running 24/7.

In Progress

This project is actively being built

The algorithm design and motor simulations are done. Currently working on the PCB layout in Altium and writing the DSP firmware. I'll update this page as the physical build progresses.

Interested? Let's talk