Arduino DC motor

Arduino DC motor

Always searching for ways to spice up weekend projects. This time, let’s turn it up—literally. Hook up a DC motor and make it zoom to improve your Arduino skills. With a few simple parts, you can make this motorized wonder dance across the table. The concept is simple but the fun is huge. This tutorial covers everything you need to start your Arduino DC motor and experiment with adjustments and customizations. Circuit schematics, code snippets, and troubleshooting will be covered. The power of such a simple item will amaze you. Stop talking and start tinkering—your wild spinning machine awaits!

An Introduction to DC Motors and How They Work

What is a DC motor?

DC motors use direct current electricity. DC motors need power to power their positive and negative terminals. When positive and negative terminals are linked, motor spins constantly. Many applications require speed control and torque from DC motors.

How does a DC motor work?

A DC motor has permanent magnets, wire coils, a shaft, and brushes or brushless mechanisms. Power makes the coils electromagnets that spin around the permanent magnets. This rotation spins the shaft, providing mechanical power. The power source powers the coils via brushes or brushless mechanisms.

DC motors use magnetic fields. Permanent magnets interact with electromagnet coil magnetic fields. The coils rotate due to this force. Electromagnet polarity determines spin direction. The motor spins in reverse when polarity is reversed.

Uses of DC motors

DC motors have several uses. Battery-powered radio-controlled cars, drones, and robots use them. DC motors are great for propellers and wheels due to their variable speed control. Blenders, vacuum cleaners, and power tools employ DC motors. Most computer fans cool components with DC motors.

After learning about DC motors, you can explore and make entertaining projects with them. DC motors enable motorized toys, gadgets, and small vehicles. Keep making and having fun!

What You’ll Need to Control a DC Motor With Arduino

A few basic components are needed to spin a DC motor using an Arduino. What you need to start up.

An Arduino Board

The Arduino board controls and programs the motor. For simple DC motor projects, use an Arduino Uno.

A DC Motor

A 3-6V DC hobby motor with solderable leads is best. DC motors exist in many shapes, sizes, and power ratings, so choose one for your project.

An External Power Supply

The Arduino can run a small DC motor, but larger ones need external power. A 6V battery or DC power source works. It must give enough motor current.


Transistors allow the Arduino to alter motor current. An 2N2222 transistor is suitable for a tiny DC motor. Use a higher-current MOSFET transistor for larger motors.


Arduino current into the transistor is limited by resistors. A 1k ohm resistor is excellent for a tiny DC motor circuit.


You’ll need jumper wires to connect Arduino, motor, transistor, and power supply. 22 AWG wire suits most DC motor projects.

Breadboard (Optional)

Breadboards make interim component connections easy. It helps you prototype your DC motor circuit before soldering.

These parts are enough to control a DC motor with an Arduino. Build your circuit, program your Arduino, and power that motor!

Wiring a DC Motor to an Arduino Board

Connect a DC motor to an Arduino to spin items. DC motors use axle rotation to generate mechanical energy. They power everything from tiny robots to electric vehicles in various sizes, voltages, and strengths.

Choosing a Motor

Small 3–12 volt DC motors are needed for Arduino projects. Arduinos can power 6 or 9-volt motors. Set the maximum current draw to 100 or 200 milliamps. Motor specs should match Arduino capabilities.

Powering the Motor

DC motors need more power than an Arduino digital pin. You’ll need a battery pack or power supply. Connect the positive and negative leads to the motor’s red and black wires.

Controlling Speed

Arduino can regulate motor speed with a transistor or motor driver board. Pulse-width modulated (PWM) signals from the Arduino change motor power via the transistor or driver board. Start with 5–10% duty cycle and gradually raise to manage speed.

Choosing Pins

Basic motor control requires two Arduino pins: PWM speed and motor direction. PWM pins 3, 5, 6, 9, 10, and 11 are good choices. Speed is controlled by connecting the transistor or motor driver board PWM pin. Set the motor to spin any way with the other pin.

With some simple wiring and coding, a motor will spin quickly. Build motorized robots, cars, and other gadgets after setting a speed and seeing it spin with a sketch. Arduino and DC motors allow for limitless movement!

Sample Arduino Code to Spin a Motor

Connecting the Motor

Connect your motor to Arduino to start it spinning. Two wires will power the motor: one to the 5V pin and the other to a digital pin like pin 9. Be sure to connect the power wire to 5V, not a ground pin!

Coding Time
Now create the code to move your motor. First, define the motor’s pin:

Int motorPin = 9;

Set that pin as OUTPUT in setup():

PinMode(motorPin, OUTPUT);

Finally, power the motor pin with digitalWrite() in loop(). Example: To rotate the motor one way:

void loop() { digitalWrite(motorPin, HIGH);

This powers and spins the motor. Simply switch HIGH to LOW to reverse. Delays can also control spinning speed:

void loop() { digitalWrite(motorPin, HIGH); delay(1000); spins for 1 second LOW; delay(1000); pauses for 1 second

This spins the motor for 1 second, pauses for 1, and repeats. Try different delays to obtain the effect you desire!
Going Further
Controlling speed and direction is possible after you master motor spinning. Use analogWrite() to deliver PWM to the motor pin and change speed. Build an obstacle-avoiding robot, tiny automobile, or bespoke invention! A few motors and an Arduino allow unlimited options.
Enjoyable Arduino-Controlled DC Motor Projects
After starting a DC motor with Arduino, the fun begins! Try these fun projects:

A Motorized Toy Car

Who doesn’t like motorizing a toy car? Arduino and motor driver boards can replace electronics in an affordable RC car chassis. Program the Arduino to regulate motor speed and direction. Install an obstacle sensor or Bluetooth module to control it from your phone!

Small Cat Toy

This project will make your cat love you. Connect a feather, laser pointer, or cat toy to your DC motor. In a strong housing, program the Arduino to spin the motor at random speeds and directions. Hours of excitement await you as your cat chases!
For photography enthusiasts, a motorized camera panning rig enables smooth panning shots. Attach your camera to a two-DC motor platform. The Arduino slowly pans the camera left and right or up and down. Change speed and angle for effects. For cinematic shots, program ‘S’ curves for dramatic sweeping motion.

Arduino-controlled DC motor projects are limitless. Interactive inventions make learning programming and electronics interesting and hands-on. Now build something great!


That’s it! Fun and exciting projects can be started with an Arduino, motor driver, power source, and DC motor. With Arduino and DC motors, the world is your playground. Build a small car, control a conveyor belt, or invent something else—the sky’s the limit. Motorized mastery is within reach if you recall these circuit basics. Now go forth and unleash your imagination! Got it.

Be the first to comment

Leave a Reply

Your email address will not be published.