🪔 Diwali Break: Orders placed now will ship from 25th November 2026. Place your order today — we'll get it to you right after we're back!
Project Hub /Robotics & Autonomous Systems/Motor Drivers & Motion Control/Linear Speed Control For DC Motor
Linear Speed Control For DC Motor
Intermediate
ARDUINO
₹500 – ₹1,500
3 – 6 Hours
Partial Kit

Linear Speed Control For DC Motor

A simple, low-cost project using an Arduino Uno to control the speed of a DC motor linearly over time based on how long a push button is pressed.

Originally published on ElectronicsForU
View original tutorial

Parts You'll Need

This project is sourced from another site, not written by us — this list is our best match of their components against what we stock, not a verified bill of materials. Always check the original blog (linked above) for the actual parts list before buying.

This list includes a generic resistor set as a placeholder — it is not matched to the exact value or part number this circuit needs. The correct one is specified on the original source page linked above; check it before buying.

We don't carry yet: Transistors (BC547 / 2N2222 / TIP / MOSFET)
Thyristor / SCR / Triac / Varistor / Fuse
DC Barrel Jack / Power Connector
Off)

Browse all components

How It Works

Why Build This

Build practical automation tools for precision tasks like PCB drilling where gentle, slow starts prevent bit breakage and material slippage.
Gain hands-on experience interfacing low-voltage microcontrollers with higher-voltage hardware components using power MOSFETs.
Understand how to translate user input duration into linear variable outputs for robotics and miniature machine tool applications.

Real-World Application

Precision drilling of PCBs, screwing and unscrewing tasks, and miniature machine tools where starting at a low speed prevents slippage and damage.

Skills You'll Learn

PWM signal generation
MOSFET high-side/low-side switching principles
digital input debouncing and state tracking
directional motor control with H-bridge or relay logic concepts
sensor-to-actuator timing integration

Safety Precautions

Ensure the DC power supply matches the voltage and current requirements of both the Arduino and the motor to prevent overheating or component failure.

Technology Tags

DC MOTOR
PWM
MICROCONTROLLER
MOTOR CONTROL
ARDUINO
MOSFET
HARDWARE DESIGN

Frequently Asked Questions

No. The Arduino's 5V pin cannot provide the high current required by a 12V motor, and the higher voltage would damage the board. The motor must be powered by the separate 12V DC power supply, using the MOSFET to handle the load.
The MOSFET acts as an electronic switch. It allows the low-current digital pins on the Arduino Uno to safely control the high-current, 12V power flowing through the DC motor.
The Arduino's software monitors how long you hold down pushbutton S1. As the duration of the press increases, the code incrementally scales up the PWM duty cycle sent to the MOSFET, causing the motor speed to rise linearly over time.

Gallery

This page is part of Kitkraft's Project Hub — a curated collection of electronics & robotics projects gathered from the maker community to help students and hobbyists discover and learn to build. Kitkraft does not claim authorship of the original project, and makes no representation as to the accuracy, completeness or safety of third-party source material. The summary and "How It Works" explanation above are AI-generated, rewritten with reference to the original tutorial — not a reproduction of it. Full credit and a direct link to the original source are provided above. If you're the original creator and have a concern about how your work is represented here, please contact us and we'll address it promptly.

Kitkraft Project Hub — curated from the maker community, credited at the source.
PRJ-00513