I am working on a project with a LEGO Mindstorms (RCX) motor. For this project, all I need is to spin a motor (43362, http://www.philohome.com/motors/motor.htm).


I was wondering how the LEGO Mindstorms brick deals with motors. Does the brick output a constant power to the motors, resulting in different speeds for different loads? Or does the brick adjust power to meet a constant speed? Thank you!


The RCX system provides a certain average voltage level (via PWM) to the motors. This means that speed can vary based on load, and may even vary slightly from motor to motor. Power will also vary based on load, as a motor with more load will draw more current if voltage is held constant.

If you're interested in specifics, you can measure the voltage and current on the motor lines with a voltmeter, or view it on an oscilloscope if you have one available. From there, you can calculate the power (P=IV) for your setup.

The RCX system does have a rotation sensor if you need to be able to make specific speed and/or distance adjustments. In later systems, additional data lines were added to the communication protocol to allow motors to have embedded rotation sensors and allow precise speed control, but this is not possible with the RCX system.

  • Thank you so much for the response! This is exactly what I was looking for. By any chance, is there documentation of this that states the nominal power value? – dts Jan 22 '17 at 19:26
  • I've updated my answer to add more specifics about the relationship between voltage, which the RCX controls directly, and power, which is not directly controlled and also depends on current (P=IV). – jncraton Jan 22 '17 at 19:56
  • Thank you! Also, what would define a "greater load." Would it be mass or moment of inertia. If two loads have the same moment of inertia, will they spin at about the same speed? – dts Jan 22 '17 at 20:01
  • Load in this case is resistance to rotation from the perspective of the motor. This could be related to the moment of inertia of an object being accelerated, but it could also be related to other things (e.g. rolling resistance). No load would be when nothing is attached to the motor, and maximum load would occur then the motor can't turn. – jncraton Jan 23 '17 at 13:28

The motor speed is controlled by time modulating the available voltage (approximately 9 volts). So at 100% it looks like a continuous 9 volts. At 50% it is periods of 9 volts and 0 volts in equal amounts. Something like 100 time blocks per second.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.