Skip to content

Leslie Motor Simulations

The Leslie Tremolo Unit (CBS/Electro Music, Part 660890) uses an 18W shaded-pole AC induction motor. It is a 20-pole design with a synchronous speed of 360 RPM at 60 Hz. Both simulations share the same electrical model: a series R-L circuit with R = 300 ohm winding resistance and L = 1H motor inductance. At 60 Hz this gives an impedance of about 482 ohm, a power factor of 0.62, and a rated current of 0.24A — yielding the 17.6W nameplate power.

The 1H inductance is the dominant characteristic. It causes current to lag voltage by about 52 degrees at 60 Hz and, as we will see, makes the motor an effective low-pass filter for high-frequency switching signals.

See Leslie Control for the physical unit, schematic labels, and wiring details.

TRIAC Phase-Angle Control (Existing Circuit)

Section titled “TRIAC Phase-Angle Control (Existing Circuit)”

The stock Leslie speed controller fires a TRIAC at different phase angles each half-cycle of the 60 Hz mains. Earlier firing delivers more of the sine wave to the motor (more voltage, more power); later firing chops the waveform aggressively, reducing RMS voltage and torque. A reed switch selects between two fixed firing angles — FAST and SLOW — actuated by a coil driven from the console’s three-position switch.

SettingFiring AngleMotor RMS Voltage% of LinePowerSpeed
FAST25 deg116.1V99.2%~17.3W~340 RPM
SLOW110 deg62.7V53.6%~5.1W~40 RPM

Motor terminal voltage at FAST (25 deg) and SLOW (110 deg) firing angles Motor terminal voltage, FAST and SLOW overlaid. FAST is nearly a full sine wave; SLOW shows severe chopping with conduction only in the last ~70 degrees of each half-cycle.

Motor winding current for FAST and SLOW speed settings Motor winding current for both speeds. Current lags voltage — the inductive load continues drawing current past the voltage zero crossing. The simulation models this by extending the TRIAC conduction window 55 degrees past zero to account for the power factor lag (real TRIACs conduct until current, not voltage, crosses zero).

The simulation includes a 100 ohm + 100 nF R-C snubber across the TRIAC, standard practice for inductive loads to damp the voltage spike at commutation. The power factor lag modeling is important: without it, the current waveform would show an unrealistic sharp cutoff at the voltage zero crossing.

The key observation is that the motor’s synchronous speed stays at 360 RPM regardless of TRIAC firing angle — speed reduction comes entirely from high slip and torque loss. At SLOW, the motor is operating deep in its unstable torque-speed region, fighting its own rotating magnetic field. This works, but it is thermally inefficient and gives no possibility of intermediate speeds.

The alternative approach discards phase-angle chopping entirely. Instead: rectify the 117 VAC mains to a 165V DC bus, then use the ESP32-S3’s MCPWM peripheral to generate sinusoidal pulse-width modulation (SPWM) through a full H-bridge at variable frequency. Constant V/Hz scaling — modulation index m = f_motor / 60 — maintains motor flux across the entire speed range.

FrequencyMod IndexV_fund (RMS)Motor ZCurrentPowerSync Speed
10 Hz0.16719.4V306 ohm63 mA1.2W60 RPM
20 Hz0.33338.9V325 ohm120 mA4.3W120 RPM
40 Hz0.66777.8V391 ohm199 mA11.8W240 RPM
60 Hz1.000116.7V482 ohm242 mA17.6W360 RPM

Motor winding current at 10, 20, 40, and 60 Hz drive frequencies Motor winding current at all four frequencies overlaid. Each is a clean sinusoid — the motor inductance completely filters the 10 kHz switching. Current scales linearly with V/Hz, from 63 mA at 10 Hz to 242 mA at rated 60 Hz.

Raw H-bridge SPWM output showing bipolar PWM switching Raw H-bridge SPWM output (100-200 ms window). The output swings between +165V and -165V with duty cycle modulated by the sine reference. This is what the motor terminals see before the winding inductance filters it.

SPWM voltage and filtered motor current overlaid at 60 Hz SPWM voltage and motor current overlaid at 60 Hz (150-200 ms). The raw PWM voltage (sharp bipolar switching) produces a smooth sinusoidal current through the motor — a direct demonstration of the motor-as-filter principle.

TRIAC (Existing)VFD (Proposed)
Speed control2 fixed speeds (FAST / SLOW)Continuous, 60-360 RPM
Speed methodVoltage reduction at fixed 60 HzFrequency + voltage reduction (V/Hz)
Motor behavior at low speedHigh slip, fights sync speedOptimal slip at every speed
Interface to ESP32Relay or optocoupler across reed coilMCPWM direct to H-bridge
MIDI mappingCC#80 three-state (off/slow/fast)CC#1 continuous + CC#80 presets
Ramp profilesMechanical inertia onlyProgrammable in firmware
Additional BOM~$2 (relay + driver)~$10 (rectifier, caps, MOSFETs, gate driver)
Mains isolationInherent (relay/opto)Requires design attention

Both approaches are viable. Scenario A (relay drive of the existing TRIAC circuit) is the baseline — proven, simple, zero risk to the motor. The VFD is the stretch goal: it unlocks continuous speed and firmware-shaped ramp curves, making CC#1 mod-wheel Leslie control musically meaningful.

ComponentValuePurpose
Bridge rectifier4x 1N4007Mains rectification to 165V DC
Bulk capacitor220 uF / 200VDC bus smoothing
MOSFETs4x IRF840 (or IRFP460)H-bridge power stage
Gate driverIR2110 or IR2184High/low-side MOSFET drive with bootstrap
ESP32-S3MCPWM peripheralSPWM generation, V/Hz control
Bootstrap caps2x 10 uF / 25VGate driver bootstrap supply

Total power-stage BOM is under $10. The ESP32 is already part of the MIDI conversion design — the MCPWM peripheral is a hardware feature that costs nothing extra.

The SPICE netlists are in the project repository:

Both run via LTspice under Wine on Linux. See the sims/ README for instructions.


  • Leslie Control — physical unit identification, schematic, TRIAC circuit details, and MIDI interface options
  • Simulations — CapSense detection chain simulations (separate subsystem)
  • Approach — overall MIDI conversion architecture
  • Implementation Roadmap — build sequence and phase plan