Electronic – arduino – Multiplying the voltage of an output pin on an Arduino board

arduinodc motor

I am in hold of an Arduino board and 12V DC motor.
I need to be able to control the motor speed gradually, my intention is to output a PWM current in range of between 0 and the maximum 5V of the board to the motor.

My question is what do I need to have in order to multiply the output from the range of 0 – 5V to 0 – 12V to fit the motor?

Best Answer

enter image description here
image selected at random from somewhere in the intertubes.

enter image description here
ditto

Some people prefer MOSFETs

enter image description here
ditto

See also prior art

For a bigger motor you might use a BJT to turn on a heftier MOSFET

enter image description here
ditto

Important notes

  • Ensure you use a switching device that can comfortably handle more than whatever maximum current the specific motor will need.
  • It is good practice to have a snubber diode across the motor to prevent it causing damage to the switching elements.
  • The ground of the motor's power source should be connected to the ground of the Arduino's power source (e.g. the header socket marked "GND")