An Arduino DC Motor Dynamometer Shield— Part 1

David Such
12 min readMay 26, 2023

BLDC Dyno — Measuring Thrust with an Arduino, Load Cells and Force-Sensing Resistors (FSR)

When designing an aircraft it is useful to understand how much thrust is required to keep it in the air. For a quadcopter, the relationship is quite straight forward. In order for the drone to get airborne, we need a force from the four engines which is larger than the force of gravity, keeping it on the ground. Things get a bit more complicated when the drone tilts to change direction, but it is nothing that a bit of trigonometry can’t solve.

Ideally, motor manufactures would provide voltage/thrust curves to assist with design, but these are seldom available. Usually all you will have is a couple of data points (Figure 3) for grams of lift, using a particular propeller, at a certain voltage. If your voltage/thrust curve isn’t linear, or you want to try different propellers, you have to experiment to find out what works.

There has to be a better way. What we need is an instrument that can plot the voltage/thrust curve for any motor and propeller combination. We use Pulse Width Modulation (PWM) to control the Electronic Speed Controller (ESC) which drives the motor, and it would be nice to be able to relate the PWM percentage to thrust.

Figure 1. Load Cell Sensor, KF100–1kg

--

--

David Such

Reefwing Software · Embedded Systems Engineer · iOS & AI Development · Robotics · Drones · Arduino · Raspberry Pi · Flight Control