Test Procedures & Calculations

Thrust, current draw and efficiency

We use the RCBenchmark 1520 stand to log the thrust, current draw and efficiency of particular motor+prop+voltage combinations on 20/30/40/50/60/70/80% throttle points. Plotting the results in a chart should give enough visual resolution of the overall thrust performance without risking burning the motors and the ESC.

Note that is a static test and it will never exactly match what is produced in actual flights, but it gives a common baseline amongst various combinations, enough to be able to pick out which one will work best for your needs (most thrust, most efficient, etc).


  1. Tare load cell to zero.
  2. Ramp-up to X throttle point (starting at 20%).
  3. Stabilize for 2 seconds.
  4. Gather 100 samples and average the results.
  5. Repeat step 2, up to 80% at 10% increments.

In some cases where the motor is beginning to overheat (around 200F+), we restart the test and add a 30 second cool-down phases in between the high throttle ramp-ups. During a cool-down phase, the motor spins at 15% throttle and optionally, a blower fan is directed to help it cool down before the next ramp.


The script below is used in the RCBenchmark companion software. It produces a CSV file with one row for each of the target throttle points, containing the averaged thrust, voltage, current draw, etc.

var escStart = 1000;
var minVal = 1200;
var maxVal = 1800;
var samplesAvg = 100;

var params = {
    steps_qty: 7,
    settlingTime_s: 2,
    cooldownTime_s: 0,
    cooldownThrottle_us: 1150,
    cooldownMinThrottle: 2100,
    max_slew_rate_us_per_s: 200 

    prefix: 'thrust'

function initESC() {
    rcb.console.print("Initializing ESC...");
    rcb.output.set("esc", escStart);
    rcb.wait(start, 2);

function start() {
    rcb.output.steps2("esc", minVal, maxVal,
        // after each step
        function(callback) {
            rcb.sensors.read(function(result) {
                rcb.files.newLogEntry(result, callback);
            }, samplesAvg);
        // after all steps
            rcb.output.ramp("esc", maxVal, escStart, 1, rcb.endScript);

True Kv

The RCBenchmark 1520 comes with a built-in function for calculating the true Kv of a motor using the electrical RPM sensor. Unfortunately, this only seems to work consistently with motors running on 3S and above, so this data may not appear on all tests.

Response time and torque

We also want to be able to test for a motor’s “throttle response time” (TRT). TRT refers to how fast a loaded motor accelerates from X to Y throttle points (a throttle step). It also directly corresponds to how torquey a motor is, since a torquier motor will naturally accelerate faster/have a faster response time.

After numerous tests, we found that two throttle steps are enough to define a motor’s response time: 10-30% and 10-60%. By allowing the motor to spin up to the starting throttle point, stepping up to the ending throttle point and recording the time it takes for the RPM to stabilize, we are able to measure its TRT. We do this 100x per throttle step per motor in order to calculate a fair average and also get the 95% confidence interval range.

Essentially, what the confidence interval means is that 95% of the values for a given motor for a given throttle step should fall within its range. By comparing confidence intervals rather than just the average value, we can better tell whether the performance of two motors is truly different or whether their performance overlaps.

Additionally, since different motors will achieve different changes in RPM for any given throttle step, we also want to calculate for the “response rate”. We do this by recording the average RPMs at the starting and ending throttle points of the TRT tests (the RPM change) and then dividing it with the average TRT value. The response rate puts all the motors on the same baseline so that KV differences (which dictates the amount of RPM change) will not skew the results.

Unfortunately, the RCBenchmark 1520 stand and its companion software were not made to measure TRT. However, we are able to make enough modifications to the software to be able to do just that. In short, we are able to gather optical RPM data at a rate of 1 sample per ~6.5ms, which is fast enough to determine the TRT.

Coming soon!

An illustrative explanation on how we are able to test for the response rates.