In this article, the technology and experimental methods for performance characterization of ESC for propeller drives are presented.

Required equipment 

The following tools, equipment, and parts are needed.

Power supply 

The power supply for the experiments is a DC voltage power supply or a battery. The output voltage should be 3-4 volts lower than Vmax, where Vmax is the maximum operating voltage of the ESC or the test stand, whichever is lower.

The ESC may perform regenerative braking during the test. During the regenerative braking, the energy is transferred from the motor back into the power supply network. If the self-resistance of the power supply network is not sufficiently low, the regenerative energy transfer may lead to an increase of the supply voltage beyond the safe operating limits. Generally, batteries are capable of absorbing the energy recovered during braking without issues. Problems may arise if the device is powered from a source that does not permit high reverse currents, such as laboratory power supplies. In that case, it is advised to install additional buffer capacitors for storing the energy recovered during braking.

Measuring equipment

The following equipment is required:

  • Wattmeter
  • Dynamometer
  • Tachometer or encoder for speed measurement

The following equipment is desirable:

  • Voltmeter
  • Amperemeter
  • Torque sensor

It is recommended to use special thrust test stands. They measure all values needed for propulsion system performance assessment.

For low-power applications, the 1580 Series RC Benchmark Thrust stand and Dynamometer is recommended. It is equipped with a USB interface and software for automated control and data logging. Mechanical and electrical efficiency can be obtained directly from the software.

For high-power applications, Zubax ZMEY-10 may be a better fit.

Motor and propeller

If pertinent, consider consulting with automated propulsion system configuration software such as www.ecalc.ch.

The projected maximum electrical speed of the motor shall not exceed the maximum electrical speed of the ESC. For Telega-based ESCs, the maximum electrical speed is 100000 eRPM, or 1.6 kHz.

The efficiency of a permanent magnet synchronous motor (PMSM) depends on its speed and load torque (figure 2.1). 

Figure 2.1. Motor efficiency vs load torque.

The relationship between speed, thrust, electrical power, and efficiency of a propeller drive is illustrated on the figure 2.2. The designer should maximize the efficiency of the drive by adjusting unconstrained parameters. 

Figure 2.2. Propulsion system characteristics vs propeller size.

Performance characteristics and their comparison

The main performance characteristics of a propulsion system are:

  • overall efficiency;
  • setpoint step response;
  • control system bandwidth.


The overall efficiency determines how much electrical power is required to produce a definite amount of thrust (commonly measured in gf/W; the SI unit is N/W). It is a function of:

  • propeller efficiency;
  • motor efficiency;
  • ESC efficiency.

Figure 3.1. Power balance of a propeller drive.

The overall efficiency of a propeller drive is dependent on the efficiency of each of its components: the ESC, the motor, and the propeller. Efficiency metrics of the drive components may be counter-correlated on some of the parameters of the drive. For example, an increase of the DC voltage may improve the overall efficiency of the motor with the ESC, while at the same time reducing the individual efficiency of the ESC.

Due to the complex nature of the efficiency metric, its evaluation and optimization requires a holistic approach. Particularly, the counter-correlation on the supply voltage implies that in order to perform a comprehensive analysis, one should sweep the throttle across its full operating range.

Dynamic characteristics

The main dynamic characteristics of an ESC are:

  • setpoint step response;
  • control system bandwidth.

These characteristics are interdependent. The first one characterizes the response latency of the ESC. The second one characterizes the setpoint distortion, phase delay, and maximum setpoint frequency. 

The setpoint step response is defined by 4 parameters:

Figure 3.2. The step response characteristic and parameters.

The bandwidth of the control systemωB, is defined to be that frequency range in which the magnitude of the closed-loop frequency response is greater than −3 dB. The frequency ωB is defined as the cutoff frequency. At frequencies greater than ωB, the closed-loop frequency response is attenuated by more than -3 dB.


Figure 3.3. The control system bandwidth.

For purposes of performance evaluation, the bandwidth can be modeled as the frequency of the input setpoint at which the amplitude of the commanded process variable is at least √2 times lower than the amplitude of the input setpoint. For example, in the case of a speed control loop, the input setpoint would be the target RPM, and the commanded process variable would be the actual RPM of the rotor.

Figure 3.4. The control system output speed frequency response. 

Performance measurement and comparison procedure


Before mounting the motor on the test stand, the sensors of the stand must be calibrated. Refer to the relevant documentation for the description of the setup and calibration procedure.

Mount the motor with the propeller attached on the test stand and calibrate the encoder/tachometer. 

ESC preparation

Telega-based ESC configuration

  1. Connect the Telega-based ESC to the motor. Connect the power input of the ESC to the wattmeter (or the test stand measurement unit) and to the power supply. Connect the ESC to the computer via the CAN bus or USB. 
  2. Run the Kucher GUI application if you are using USB connection. If you are using CAN bus, use the UAVCAN GUI tool.
  3. Set the motor parameters: m.num_poles – the number of rotor poles; m.max_current – the maximum continuous amplitude of the motor phase current.
  4. Run the motor identification procedure. Refer to the Quick Start Guide for more information about parametrization and the tuning procedure.
  5. Configure the RC PWM input:

    • rcpwm.pulse.bot – 1 ms;

    • rcpwm.pulse.mid – 1 ms;
    • rcpwm.pulse.top – 2 ms;
    • rcpwm.ctl_mode – 2 (voltage control mode);
    • rcpwm.enable - true.
  6. Restart the ESC. 

  7. Either disable the RC PWM output from the test stand, or configure it to emit 1 ms long pulses (which corresponds to the minimum, or zero, throttle). Afterwards, connect the RC PWM adapter cable to the ESC.

  8. Manually increase the RC PWM pulse duration up to the maximum value. The motor should spin up to the maximum speed. Ensure that the speed reported by the tachometer matches that reported by the ESC. If the rotation is unstable or the power consumption is too high, perform the advanced tuning procedure.

Efficiency measurement and comparison

The following parameters will be measured during this test:

  • Input DC current; 
  • Input DC voltage;
  • Input DC power;
  • Angular rate of the motor/propeller (assuming direct transmission);
  • Thrust.

These parameters should be measured in the steady state at different motor speed values. Each sample should be collected at two values of the DC power supply voltage: Vmin and Vmax, where Vmin is the minimum operating voltage of the ESC and Vmax is the maximum operating voltage of the ESC or the test stand, whichever is lower. 

If the 1580 Series RC Benchmark Thrust stand and Dynamometer is used, the test procedure and data collection can be automated with the help of the following script, which can be edited as necessary:

var minVal = 1000;
var maxVal = 2000;
var maxRPM = 7000;
var minRPM = 300;
var signalMicrosecondsPerSecond = 7;
var plateauDuration = 2;
var samplesAvg = 20;
var filePrefix = "RampTest";

function getTime() {
    return window.performance.now() * 1e-3;

var up = true;
var setpoint = minVal;
var prevSetpointUpdateAt = getTime();

rcb.output.pwm("esc", setpoint);
    prefix: filePrefix

function readSensor() {
    rcb.sensors.read(readDone, samplesAvg);

function readDone(result) {
    rcb.files.newLogEntry(result, readSensor);

    if (setpoint <= 0) {

    var ts = getTime();
    var dt = ts - prevSetpointUpdateAt;
    prevSetpointUpdateAt = ts;
    var signalDelta = signalMicrosecondsPerSecond * dt;

    if (up) {
        setpoint += signalDelta;
        if ((setpoint > maxVal) || (result.motorOpticalSpeed.workingValue > maxRPM)) {
            rcb.console.print("Max reached");
            up = false;
    } else {
        setpoint -= signalDelta;
        if ((setpoint < minVal) || (result.motorOpticalSpeed.workingValue < minRPM)) {
            rcb.console.print("Min reached");
            rcb.wait(rcb.endScript, plateauDuration);
            setpoint = -1;

    rcb.console.overwrite("Setting " + setpoint);
    rcb.output.pwm("esc", setpoint);

In this example, the test stand automatically sweeps the RC PWM output from 1 ms to 2 ms and captures all relevant parameters listed here earlier into a CSV file. It also calculates the overall efficiency as a ratio of thrust to the input power (commonly represented in gf/W; the corresponding SI unit is N/W). The data from the CSV file can be used to construct the following plots.


Figure 4.1. The input power of the ESC vs the motor speed.

Figure 4.2. The overall efficiency vs motor speed.


The plots allow one to find the most efficient speed range of the propulsion system and compare different ESCs and propeller drives against each other.

Step response test

In this test, the modulated RC PWM signal exhibits stepwise variation between a predefined pair of sufficiently distinct values while the ESC operates in the voltage control mode.

The following parameters are captured during the test with a high sampling rate; afterwards, the collected data is displayed on time-domain plots:

  • generated RC PWM signal;
  • motor speed.

Figure 4.3. The RC PWM signal and motor speed plots during the step response test. 

The overshoot, rise time, and settling time – as described on the figure 3.2 – are observable on the figure 4.3. If the rise time is too low, the parameter m.voltage_ramp should be increased (its influence on the system can be seen on the figure 4.3). At the same time, an increase of the parameter m.current_ctl_bw up to 0.1 also allows the system to achieve better step response characteristics.

Be aware that increased values of the above parameters may eventually render the system unstable at high speeds.

Control system bandwidth test

In this test, a low-amplitude sinusoidal RC PWM signal is modulated. Initially, limit the frequency of the signal at 10-20 Hz to ensure that the motor speed follows the setpoint with minimal attenuation.

Gradually increase the frequency of the signal until the amplitude of the output speed starts decreasing (figure 4.4). Keep increasing the frequency until the amplitude of the output speed becomes √2 times lower than it was at the beginning of the test. The final frequency is the bandwidth of the system.

Figure 4.4. Control system bandwidth measurement

You can increase the bandwidth by increasing the parameters m.voltage_ramp and m.current_ctl_bw like in the previous test, as long as the increase does not compromise stability of the system, as mentioned in the description of the previous test.

See also