Brushed Motors

ArduPilot supports multiple methods to control brushed motors

  • Brushed motor ESCs that support RC PWM input (PWM signals that are 1ms to 2ms in width) are the easiest to use because no special configuration is required and the rest of this document can be ignored. Most hobby grade RC Car ESCs are of this type

  • “Brushed” motors accept a duty cycle to control the speed but only spin in one direction

Verified Motor Drivers

Connection and Configuration

  • Connect the motor drivers / ESCs to the autopilot’s output pins just as you would for regular brushless ESCs but note the warning at the bottom regarding mixing brushed outputs with servos

  • Set MOT_PWM_TYPE = 3 for “Brushed” and reboot the autopilot

  • Set RC_SPEED = 16000 to set the refresh rate to 16k (other values from 1000 to 20000 are possible)


in some ground control stations, attempting to set this parameter above its normal 50 to 490hz range will require the user to acknowledge this “out of range” setup in order to set the parameter. This is to prevent accidental miss-configuration for brushless ESCs.


If the autopilot will also control servos (which use regular RC PWM) take care that the servos are not in the same “PWM output group” as any motor outputs. The grouping is only documented on some of the AutoPilot Hardware Options pages but for a regular Pixhawk or Cube autopilot MAIN OUT 1 ~ 4 are in group1 meaning that if any brushed motors are configured for MAIN OUT 1 to 4 then servos must be connected to output 5 or higher


ArduPilot does not currently support controlling both brushed and brushless motors at the same time