Brushless motors · interactive

How three currents turn a rotor

October 2026

A brushless motor is a ring of stator teeth, one coil per tooth, inside a ring of permanent magnets. The drive feeds three phase currents into the coils. This model shows what those currents do: it lights every tooth with the current in its coil, extracts the resulting field, and lets the magnets chase it.

How to read the drawing

N S A⊗ 1 2 3 4 5 6
SymbolElementMeaning
1CoilColour: phase A, B, C. Fill intensity ∝ |i|. ⊗ current into the page, ⊙ out of it.
2Tooth tipPole of the tooth at this instant: N (red) or S (blue). Opacity ∝ |Fk|, the tooth's magnetomotive force.
3MagnetsRotor, 2p magnets, N and S alternating.
4Rotor axisDirection of the rotor's S-pole axis, θr.
5Stator fieldNearest peak of the fundamental of the stator magnetomotive force. Length ∝ amplitude.
6Torque angleδ, from (4) to (5), in electrical degrees. Torque ∝ sin δ; maximum at 90°.
7Gap stripAir gap unrolled, 0 to 360° mechanical. Steps: Fk per tooth. Curve: its fundamental. Band: magnets.
Figure 1. Key to the live drawing. One tooth with its coil (1) and pole tip (2), one magnet pair (3), and the centre indicators: rotor axis (4), stator field (5), torque angle (6). The gap strip (7) appears under the drawing.
Rotating field, commutation and load
Currents are commutated from the measured rotor angle. Change the motor, the drive, the timing, the load. In hold target speed mode a speed loop sets the current for you; watch it change as the load changes.
—
torque angle
—° electrical
current
—per unit
torque
—per unit
torque ripple
—% of mean
electrical speed
—cycles/s
rotor speed
—rev/s

Things to try

  1. 12 teeth, 14 magnets, sinusoidal. The pole pattern laps the stator; the rotor turns 1/7 of a turn per lap. Both speeds are in the readouts.
  2. 3 coils, 2 poles. One lap of the pattern is one lap of the rotor, and the 90° torque angle is 90° on the drawing. The 12-tooth motor is the same physics folded seven times.
  3. Six-step. Square-wave currents, six pattern positions per cycle, torque angle swinging 60° to 120°, ripple about 14%. That is the hum of a cheap drive.
  4. Timing advance. Torque falls as cos(advance): at 60° you get half the torque for the same current and heat. A misaligned Hall sensor does this.
  5. Push the load. The rotor slows; the torque angle stays at 90° because the controller re-aims from the measured angle; speed settles where torque = load + friction. Load above the current amplitude stalls the motor.
  6. Hold target speed. Switch Control to "hold target speed". The current slider is now driven by a PI speed loop. Raise the load and watch the current rise to hold speed; push the load and watch it recover. Ask for more speed than the current limit allows (1 per unit) and the slider pins at the limit while the speed falls short.

What is computed

Not in the model

Runs in your browser, sends nothing. Electrical degrees = mechanical degrees × p.