The Arduino starter kit came with a DC motor. I want to have it rotate at a slow speed so it can be on a reel and automatically dispense and wind wire, however, I don't know how I can slow it down.

Giving it an analog value of 1 is still way too fast.

Is there any way to control or reduce the speed. Like a 360 degree turn in a second rather than milliseconds?


1 Answer 1


Remember if you are using a UNO or similar there is no Analog Output, the output is PWM (Look that up). If its DC motor then it needs to work from a DC (constant voltage) and will spin at a fixed speed. Motors usually have a RPM (speed) specification. Speed can be reduced with gears and rotation detected with rotary encoders and or sensors like Infra Red Switches or Reed Switches. You can also get Motor Controllers like... https://howtomechatronics.com/tutorials/arduino/arduino-dc-motor-control-tutorial-l298n-pwm-h-bridge/ AC Motors can be speed controlled by changing drive frequency, this is usually called an inverter. NOTE reducing DC voltage will result in less torque and higher current. Hope this helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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