Zbotic Logo Zbotic Logo
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

  • Shop
  • About Us
  • Contact Us
  • Reseller
  • Blogs
020 69134444
1800 209 0998
[email protected]
Help Desk
Facebook Twitter Instagram Linkedin YouTube
Zbotic Logo Zbotic Logo
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

All departments
  • 3D Print Service
  • 3D Printer
  • Batteries & Chargers
  • Development Boards
  • Drone Parts
  • EBike parts
  • Sensor Modules
  • Electronic Components
  • Electronic Modules
  • IoT and Wireless
  • Mechanical Parts and Workbench Tools
  • Motors & Drivers & Pumps & Actuators
  • DIY and Robot Kits
  • Show more
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
Return to previous page
Home Motors & Actuators

How to Run Stepper Motor Without Arduino Using EasyDriver

How to Run Stepper Motor Without Arduino Using EasyDriver

March 11, 2026 /Posted byJayesh Jain / 0

Most stepper motor tutorials assume you have an Arduino or microcontroller to generate the step pulses. But what if you just want to spin a stepper motor for a simple automation task, a test fixture, or a prototype without writing a single line of code? The EasyDriver — and its underlying approach of standalone stepper motor control — makes this entirely possible.

In this guide, we explain what the EasyDriver is, how it works, and how to run a stepper motor without any microcontroller using only a pulse source. We also cover the wiring for Arduino-controlled operation for those who want both options, and explain the key concepts of microstepping that make stepper drivers so powerful.

Table of Contents

  1. What Is the EasyDriver?
  2. Stepper Motor Basics
  3. EasyDriver Pinout & Specs
  4. Running a Stepper Without Arduino
  5. Manual Pulse Sources: 555 Timer & Push Button
  6. Wiring EasyDriver with Arduino
  7. Microstepping: Quarter, Eighth Step
  8. Adjusting Motor Current
  9. Recommended Stepper Motors
  10. FAQ

1. What Is the EasyDriver?

The EasyDriver is a stepper motor driver board designed by Brian Schmalz, built around the Allegro A3967SLB microstepping driver IC. It is one of the most popular entry-level stepper driver boards in the maker community because of its simplicity, low cost, and clear labelling.

Key features:

  • Motor voltage: 7 V – 30 V
  • Motor current: Up to 750 mA per phase (adjustable)
  • Microstepping: Full, half, quarter, eighth step modes
  • Onboard 5V regulator: Can power Arduino from the same supply
  • Step/Direction interface: Works with any pulse source — 555 timer, Arduino, FPGA, PLC, or manual button
  • Automatic current reduction: Drops to 30% current when idle (reduces heating)

The EasyDriver accepts two logic signals: STEP (each rising edge advances the motor one microstep) and DIR (HIGH = clockwise, LOW = counterclockwise). That is all you need. Any device — or even a manual button — that can produce logic-level pulses can drive this board.

2. Stepper Motor Basics

A stepper motor divides a full 360° rotation into a fixed number of equal steps. Most common stepper motors are bipolar two-phase motors with:

  • 200 steps per revolution = 1.8° per full step (most common, e.g., NEMA 17)
  • 400 steps per revolution = 0.9° per full step (higher resolution variants)

The motor has two coil windings (phases). By energising these coils in sequence, the rotor aligns with each magnetic pole in turn, creating rotational motion. The sequence and polarity of the coil energisation determines direction and position.

Unlike DC motors, steppers hold their position when powered — they do not need encoder feedback for position control. This makes them ideal for:

  • 3D printer axes
  • CNC router axes
  • Camera sliders
  • Telescope mounts
  • Precision linear actuators
  • Automated turntables and rotary stages

The main disadvantage: if the load exceeds the motor’s torque at any step, the motor skips steps (loses position) without any error indication. This is called stalling, and the driver cannot detect it in open-loop mode.

NEMA17 Stepper Motor

NEMA17 5.6 kg-cm Stepper Motor – D-Type Shaft

High-torque NEMA 17 bipolar stepper motor compatible with EasyDriver, A4988, and TMC2208 drivers. Detachable cable for easy installation.

View on Zbotic

3. EasyDriver Pinout & Specs

The EasyDriver board has clearly labelled pads/headers on both edges:

Motor Side (left edge)

  • A+ / A– — Motor coil A (winding 1)
  • B+ / B– — Motor coil B (winding 2)
  • GND — Ground
  • M+ — Motor power supply (7–30 V)

Control Side (right edge)

  • STEP — Step pulse input (rising edge = one microstep). Active HIGH.
  • DIR — Direction. HIGH = one direction, LOW = other direction.
  • MS1 / MS2 — Microstep select (see microstepping table)
  • RST — Reset input (active LOW). Tie to SLP or HIGH for normal operation.
  • SLP — Sleep input (active LOW). Tie HIGH (to 5V) to keep driver awake.
  • ENABLE — Enable input (active LOW). Tie LOW or leave floating to enable driver.
  • PFD — Decay mode select (fast/slow decay). Usually left at default.
  • 5V — 5V output from onboard regulator. Can power a small Arduino.
  • GND — Logic ground

4. Running a Stepper Without Arduino

To run a stepper motor using the EasyDriver without any microcontroller, you need just three things:

  1. A pulse source — anything that produces a TTL-level square wave on the STEP pin
  2. A direction signal — a simple jumper (HIGH for CW, LOW for CCW)
  3. Power supply — 7–30V for the motor, and 5V logic from the EasyDriver’s onboard regulator

Minimum standalone wiring:

  • M+ → 12V power supply positive
  • GND (motor side) → 12V supply negative
  • SLP → 5V output (keep awake)
  • RST → 5V output (no reset)
  • ENABLE → GND (keep enabled)
  • DIR → GND (counterclockwise) or 5V (clockwise) — use a jumper wire
  • STEP → your pulse source
  • A+, A–, B+, B– → motor coil wires

With this wiring, every pulse on the STEP pin rotates the motor by exactly one microstep. At eighth-step mode (default), that is 1/8 of 1.8° = 0.225° per pulse. A full revolution requires 1600 pulses.

5. Manual Pulse Sources: 555 Timer & Push Button

Option A: Push Button Stepping

The simplest possible pulse source: connect a normally-open push button between 5V and the STEP pin, with a 10 kΩ pull-down resistor from STEP to GND. Each button press (rising edge when released due to pull-down) advances the motor one microstep.

This is excellent for testing motor wiring and direction without any code. Press rapidly to spin the motor; release to stop. No debounce is needed because the EasyDriver only triggers on rising edges and a clean push button produces clean enough edges for slow manual stepping.

Option B: 555 Timer Oscillator

For continuous rotation at a fixed speed, a 555 timer in astable mode is the classic solution. Configure the 555 as follows:

  • Supply: 5V (from EasyDriver’s 5V output)
  • Resistors: R1 = 1 kΩ, R2 = variable (10 kΩ pot)
  • Capacitor: C = 1 µF
  • Frequency output: Approximately 1–70 Hz depending on pot position

The frequency formula for the 555 astable mode:

f = 1.44 / ((R1 + 2×R2) × C)

At 1 µF cap and R2 = 5 kΩ (mid pot): f ≈ 130 Hz = 130 microsteps/sec = ~4.9 RPM at 1/8 step mode. Rotate the pot clockwise to increase speed.

Connect the 555 output (pin 3) directly to the EasyDriver STEP pin. No resistor needed. Add a 100 µF cap between 5V and GND near the 555 to prevent motor noise from resetting the timer.

Option C: Signal Generator / Function Generator

If you have a function generator or a signal generator module, set it to a square wave output at 5V amplitude, 50% duty cycle. Plug it into the STEP pin. This gives you precise, adjustable speed control from 1 Hz (very slow) to the maximum step frequency (around 20 kHz for most drivers, though motor torque drops at high frequency).

6. Wiring EasyDriver with Arduino

When you do want Arduino control, the EasyDriver connection is minimal:

  • STEP → Arduino digital pin 3 (or any digital pin)
  • DIR → Arduino digital pin 2
  • GND → Arduino GND
  • Motor power → separate 12V supply (GND shared with Arduino)
  • SLP, RST → tie together and to 5V
// EasyDriver + Arduino — Basic Stepper Control
#define STEP_PIN 3
#define DIR_PIN  2

void setup() {
  pinMode(STEP_PIN, OUTPUT);
  pinMode(DIR_PIN, OUTPUT);
}

void stepMotor(int steps, int delayMicros, bool direction) {
  digitalWrite(DIR_PIN, direction ? HIGH : LOW);
  for (int i = 0; i < steps; i++) {
    digitalWrite(STEP_PIN, HIGH);
    delayMicroseconds(delayMicros);
    digitalWrite(STEP_PIN, LOW);
    delayMicroseconds(delayMicros);
  }
}

void loop() {
  stepMotor(1600, 500, true);   // One CW revolution at ~625 steps/sec
  delay(500);
  stepMotor(1600, 500, false);  // One CCW revolution
  delay(500);
}

The delayMicroseconds(500) gives a step frequency of 1000 Hz = 1600 steps/revolution → ~37 RPM at 1/8 step. Reduce the delay to increase speed (minimum practical ~100 µs = 10 kHz).

7. Microstepping: Quarter, Eighth Step

The EasyDriver’s MS1 and MS2 pins select the microstepping resolution:

MS1 MS2 Mode Steps/Rev (NEMA17) °/Step
LOW LOW Full step 200 1.8°
HIGH LOW Half step 400 0.9°
LOW HIGH Quarter step 800 0.45°
HIGH HIGH Eighth step (default) 1600 0.225°

The EasyDriver defaults to eighth-step mode (MS1 and MS2 are pulled HIGH by onboard resistors). Eighth-step gives the smoothest motion and lowest vibration but requires 8× more pulses per revolution. For high-speed applications or slower control sources, switch to half or full step to reduce the pulse rate requirement.

Note that at full-step mode, motor torque is approximately 30% less than rated due to only one coil being fully energised at a time. Half-step mode energises both coils alternately, giving the best torque-to-smoothness balance.

8. Adjusting Motor Current

The EasyDriver has a small trimmer potentiometer near the A3967 chip for setting the maximum coil current. This is critical — too low and the motor stalls; too high and the driver and motor overheat.

To set current:

  1. Power the board without the motor connected first
  2. Measure the voltage at the POT wiper (test point marked on some boards) relative to GND
  3. The relationship is approximately: I_peak = Vref / 0.5 (check your board revision)
  4. For a NEMA 17 rated at 1.0A, set Vref ≈ 0.5V (for 1.0A peak)
  5. For a 28BYJ-48 at 0.2A, set Vref ≈ 0.1V

After setting, connect the motor and briefly touch each coil wire to verify even holding current with no oscillation. A motor that buzzes or oscillates when held still usually has current set too high or a wiring fault.

28BYJ-48 Stepper Motor

28BYJ-48 5V Stepper Motor

Compact unipolar stepper motor for learning. Can be modified to run as a bipolar motor with EasyDriver by removing the center-tap connection.

View on Zbotic

9. Recommended Stepper Motors

NEMA17 Stepper Motor

NEMA17 5.6 kg-cm Stepper Motor – D-Type Shaft

The most commonly used stepper for 3D printers, CNC machines and automation. D-type shaft fits standard pulleys without set-screw slipping.

View on Zbotic

A4988 Stepper Motor Driver

A4988 Stepper Motor Driver Controller Board

A versatile step/direction driver similar to EasyDriver, supports up to 2A and 1/16 microstepping. A great upgrade path from EasyDriver.

View on Zbotic

10. Frequently Asked Questions

Q: Can I use EasyDriver for a 28BYJ-48 unipolar stepper?

The 28BYJ-48 is a unipolar motor, but it can be converted to bipolar operation by removing the red centre-tap wire connection inside the motor housing (or ignoring it) and connecting only the four phase wires (Orange, Yellow, Pink, Blue) to EasyDriver A+, A–, B+, B–. The motor will work well with current set to around 200 mA.

Q: What is the maximum RPM with EasyDriver?

At eighth-step mode, the A3967 can handle up to about 10 kHz step rate, giving approximately 375 RPM for a 200-step NEMA 17. In practice, motor torque drops significantly above 3–4 RPM under load. For high-speed applications, use full or half-step mode and a higher-current driver like the A4988 or DRV8825.

Q: Does the motor hold position when the pulses stop?

Yes. When the STEP pin stops receiving pulses, the EasyDriver keeps the coils energised at 30% of the set current (sleep/auto-standby mode). The motor holds its position with reduced holding torque. To maximise holding torque, set the SLP pin HIGH permanently and do not let the driver enter sleep mode.

Q: My motor vibrates but doesn’t rotate. What’s wrong?

This is almost always a wiring problem. Either one or both coil pairs are wired incorrectly (A+ connected to B wire, or polarity reversed within a coil). Use a multimeter to identify the two coil pairs: any two wires with ~4–8 Ω resistance between them belong to the same coil. Wire one pair to A+/A– and the other to B+/B–.

Q: Can I use a 9V battery to power the EasyDriver?

A standard 9V PP3 alkaline battery can technically supply the correct voltage but has very limited current capacity (typically under 500 mA before voltage sags). For even a small NEMA 17, motor current peaks can exceed this. Use a dedicated regulated DC power supply or a multi-cell Li-ion pack for reliable operation.

Q: Is EasyDriver better than A4988?

They target slightly different use cases. The EasyDriver is a full breakout board with onboard 5V regulator, clearly labelled connectors, and a very gentle learning curve — ideal for first-time stepper users. The A4988 is a smaller module with higher current (2A vs 750 mA), no 5V regulator, and is the standard for 3D printers. For learning standalone stepper control, EasyDriver is easier. For production 3D printer or CNC projects, A4988 or TMC2208 are preferred.

Build Your Stepper Motor Project Today

Shop NEMA 17 stepper motors, A4988 drivers, and all the components you need at Zbotic — India’s trusted electronics store for makers.

Shop Stepper Motors

Tags: bipolar stepper motor, easydriver stepper motor, standalone stepper driver, stepper motor tutorial, stepper motor without arduino
Share Post
  • Facebook
  • Linkedin
  • Whatsapp
Motor Noise Filtering: Capacit...
blog motor noise filtering capacitor placement on dc motors 596887
blog voltage regulator dropout ldo vs standard comparison 596890
Voltage Regulator Dropout: LDO...

Related posts

Svg%3E
Read more

Gear Motor Guide: N20, JGB37, and Planetary Motors Compared

April 1, 2026 0
When your project needs more torque than a bare DC motor can provide, a gear motor is the answer. By... Continue reading
Svg%3E
Read more

Miniature Pump Hydroponics: Automated Nutrient Dosing System

April 1, 2026 0
Hydroponics grows plants in nutrient-rich water instead of soil, and automating the nutrient dosing process with peristaltic pumps and Arduino... Continue reading
Svg%3E
Read more

Drone Motor Testing: Thrust Stand Build and KV Measurement

April 1, 2026 0
If you are building a drone, selecting the right motor-propeller combination is critical for flight performance. A drone motor thrust... Continue reading
Svg%3E
Read more

Pump Selection Guide: Peristaltic, Submersible, and Diaphragm

April 1, 2026 0
When your Arduino project needs to move liquid — whether for automated plant watering, hydroponics, aquarium management, or a coffee... Continue reading
Svg%3E
Read more

Solenoid Guide: Door Locks, Valves, and Automation Projects

April 1, 2026 0
A solenoid is an electromechanical device that converts electrical energy into linear motion. When you energise the coil, a plunger... Continue reading

Add comment Cancel reply

Your email address will not be published. Required fields are marked

Facebook Twitter Instagram Pinterest Linkedin Youtube

Get the latest deals and more.

Download on Google Play Download on the App Store

Call us: 020 69134444 / 1800 209 0998

Monday - Saturday 09:30 AM - 06:00 PM
For Technical Supports Email: [email protected]
For Sales / Enquiries Email: [email protected]

  • My Account

    • Cart

    • Wishlist

    • Checkout

    • My Orders

    • Track Order

    • My Account

  • Information

    • FAQs

    • Blogs

    • Career

    • About Us

    • Contact Us

    • Payment Options

  • Policies

    • Privacy Policy

    • Terms & Conditions

    • GST Input Tax Credit

    • Shipping Return Policy

    • E-Waste Collection Points

    • Our Sitemap

© Zbotic.in is registered trademark of Moxie Supply Pvt Ltd – All Rights Reserved
Login
Use Phone Number
Use Email Address
Not a member yet? Register Now
Reset Password
Use Phone Number
Use Email Address
Register
Already a member? Login Now