Introduction: Simple Manual Control of Stepper Motors Without a PIC or PC

Picture of Simple Manual Control of Stepper Motors Without a PIC or PC

This instructable will show you how to control stepper motors (Unipolar OR Bipolar) manually with a knob, without the use of a PIC or PC, so no programming is needed.  The position of the knob determines the position of the motor shaft, which will stay in that position until the knob is turned again.  The unipolar and bipolar circuits are different, but each requires only 1 chip.


Step 1: Here's What You'll Need.

For the Unipolar board -     (1) rotary encoder

                                                (4) 1K 1/4W resistors

                                                (1) ULN2003 I.C.


For the Bipolar board -        (1) rotary encoder

                                                (2) 1K 1/4W resistors

                                                (2) 10k 1/4w resistors

                                                (2) 2N3904 transistors

                                                (1) L293D I.C. (or equivalent such as SN754410NE)

Step 2: Use Eagle Files (below) or Program of Your Choice to Make the PCB's for Each Board.

Picture of Use Eagle Files (below) or Program of Your Choice to Make the PCB's for Each Board.

Eagle files for Unipolar Board:




Eagle files for Bipolar Board:



Step 3: Populate the Boards. Here Are Pictures of the Completed Boards:

Picture of Populate the Boards.  Here Are Pictures of the Completed Boards:

Step 4: Hook Up Your Motor Voltage, +5v Supply, and the Appropriate Motor to the Appropriate Board and Enjoy.

Here is a video of the bipolar board in action:

Step 5: How It Works

The rotary encoder provides 2 square wave type outputs, each 90 degrees out of phase.  Each board converts those to 2 pairs of complementary outputs, which provide the proper sequence for full-step, high torque driving of unipolar or bipolar motors.   (I used the EVQ-WTEF2515B from Electronic Goldmine), but you could use any quadrature type rotary encoder, including those found in computer mice (the scroll wheel).   The sequence is reversed when the rotary encoder is turned the opposite direction.


José AntonioA4 (author)2017-08-14

I found Rotary Encoder V Keyes (KY-040 I think), whose image is added. Can you tell me what is the correspondet pins in your bipolar circuit? I'm lost!

AleksandrK11 (author)2017-02-03

Hi. I made bipolar controller and the motor and all the electronics are very hot. Is it ok? I'm using OKI stepper from Epson Stylus Photo 750 printer, as I found it's rated to +42 volts, I'm using only +12 DC and motor is hot. Also encoder from computer mice is not the best choice, control of the motor is not stable.

joesinstructables made it! (author)2016-02-29

Nice little circuit. Thanks for posting it.

LộcV (author)2015-09-17

help me! step motor position control matlab gui pic 16f877a

jeffrorrt (author)2015-08-03

Would like to build this to control a damper using a 12v stepper, can you suggest mods to your components so I don't have to use a second power supply in my existing 12v equipment

benjaminw (author)2013-02-26

hi, i'm really interested in making this, but i noticed in the video that the motor is quite jerky and was wondering if that is because of the motor or the encoder or the chip. i want to end up with something like this

i dont really know much in this area so i really appreciate the help

newbeatle (author)benjaminw2014-11-10

hi benjaminw , have you found how to made the controler in the video you post ? the opcion showed here is interesting , but i like to know if there is another way to do it. i like to attach a little lamp to the "servant" stepper , and control it remotely from a "master" station some meters away. i'm glad if you share with me and anyone the info you got from these

thanks for yout attention and regards from mexico

jcreighton2 (author)2014-05-08

hey im just wondering would the bipolar circuit work with an L293e instead of L293d?

farz61 (author)2013-01-27

I built the unipolar board, works ok. I was wondering if there is any way to wire an absolute encoder instead of incremental? The "slipping" when actuation the encoder is causing me grief.... Also, how many amps at 12v can I put in without damaging the board?.

pfred2 (author)2012-06-25

To do this all you need is another stepper motor. If you hook 2 stepper motors up coil to coil one will run in sympathy to any shaft movement of the other. With absolutely no other circuitry, parts, or even power required. It's like magic!

sanjaysy (author)2012-06-05


Can i use rotary encoder form computer mouse.

thanks & regards,

denverd0n (author)2012-05-09

This is exactly what I need except for one thing... I have a stepper motor that is rated for 1.5 amps at 3.5 volts. The ULN2003 would not appear to be able to handle that. Can anyone suggest a different IC that would work for this, but that has the voltage and current range for my motor? Thanks!

jarpo82 (author)2012-01-03

Hi, I need to know if a rotary encoder is the same that a variable resistor? Like volume..?

This is an easy proyect and very usefull.
Thank so much! Regards

jhoffnun (author)jarpo822012-01-03

It looks like a potentiometer but it definitely is not. When connected as in this project, is outputs 1's and 0's in the desired sequence.  See attached  documentation.

jarpo82 (author)jhoffnun2012-01-03

Thanks!! I'll tray to get it in some electronic home. I'll work with this proyect, soon comments... thanks

Jim1614 (author)2011-11-18

Is there a way to make the motor drive faster that the rotary encoder? Simiar to a gear ratio. Example: for one revolution of the rotary encoder i get 3 revolutions of the stepper motor.

TRSDOS (author)2011-06-24

This is something i`ve been wanting to do for some time. I have a usb Microscope that i have wanted to create 3 axis manual control (small) platform to attach it to. One question.... can you make it so that if you turn the nob the motor will continue microstepping until you let go? Hope i`m not pushing it to much LOL. Im currently building a 4' X 4' CNC router now.

jhoffnun (author)TRSDOS2011-06-27

This setup is strictly for manual control. Sounds like you need automatic stepping triggered by a toggle type push button. You should have no trouble finding a circuit on-line to satisfy your needs.

TRSDOS (author)jhoffnun2011-06-27

Thanks for your reply and i will try looking for "automatic stepping control" of some kind.

TRSDOS (author)TRSDOS2011-06-27

thanks for the not much of "web Serfer" :)

Apolo8 (author)2011-06-15

One question...are the boards already mirrored for toner transfer?

a quick, really simple compared to others in net,and really nice for projects...

Thank you.

Un Saludo...

stixchicken (author)2011-06-01

oh its the bipolar circuit

stixchicken (author)2011-06-01

i Built the circuit and it works ok but i get alot of noise on the stepper any ideas why

SharpyWarpy (author)2011-03-24

I guess I should say I built the bipolar board and it works good. Thank you, jhoffnun, for doing this instructable. Now if I can find something to do with it. Nevertheless it was very rewarding.

SharpyWarpy (author)2011-02-27

Hi, jhoffnun. I have found what I believe is a small discrepancy in the bipolar board layout. R4 is shown leading to pin 9 of IC3 where it should be leading to pin 10. Also the other end of the same resistor needs 5v before leading to pin 10 and the collector of T2. I'm assuming the schematic is correct. Please correct me if I'm wrong.

jhoffnun (author)SharpyWarpy2011-03-01

R4 goes from pin 9 to pin 10 as shown on the schematic, and pin 9 gets +5V as shown in the schematic. R4 "pulls up" the collector of T2 and pin 10 to +5V, as in the schematic. I don't see a discrepancy. Eagle is a great program; as long as you create your board directly from your schematic and keep both open from then on, they stay consistent!

SharpyWarpy (author)jhoffnun2011-03-01

I was referring to the board layout, not the schematic. The board file is not consistent with the schematic file.

jhoffnun (author)SharpyWarpy2011-03-02

I was referring to the board layout; the board is consistent with the schematic. Trace it out and you will see...

SharpyWarpy (author)jhoffnun2011-03-02

Okay I see it now. What I had not seen before was the trace underneath the chip connecting pin 9 to pins 1 and 16, which are in turn connected to +5v. Thanks very much for your time and patience. I have parts ordered from Mouser for unipolar and bipolar. The TI SN754410NEE4 is cheaper than the L293D for the bipolar board, thanks for mentioning that too.
I'm having a problem with Eagle not showing the ground plane in the board layout. I'm using version 5.10.0. Any suggestions?

SharpyWarpy (author)SharpyWarpy2011-03-02

Never mind, I used Rat's nest to fix it.

SharpyWarpy (author)2011-01-19

Or how about this encoder:

jhoffnun (author)SharpyWarpy2011-01-21

Both of these encoders look like they should work.

SharpyWarpy (author)2011-01-19

Would this encoder do?

SharpyWarpy (author)2011-01-18

I can't get the Eagle files to download properly.. instead of eagle files I get files with a .tmp extension that some type of archive file. The best I can tell is they are archive files of the type ACB. Can you please post them again? Thanks.

jhoffnun (author)SharpyWarpy2011-01-19

No problem. All you have to do is rename the file extension for each downloaded file. If it is a board file, change the extension from .tmp to .brd. If it is a schematic file, change it from .tmp to .sch.

logabiram2028 (author)2010-10-19

Awesome but i ve some doubts, how to give the power supply and how to connect the encoder with pin details...

bengus (author)2010-10-16

can i connect imput1and2 of the bipolar board in my laptop's parallel port to drive it with some cnc software as in this instructable? :

TheBlackBird (author)2010-07-19

Hy, awsome instructable. I want to biuld this for an unipolar motor but i only have an ULN2065B I.C. instead of ULN2003AN you specified. Can you please tell me if mine will work in your circuit. Thank you.

jhoffnun (author)TheBlackBird2010-07-19

Glad you liked it! I looked at the spec sheet for the ULN2065B, and it does not appear to be pin compatible with the ULN2003. The circuit requires 6 of the 7 available Darlington transistors in the ULN2003; the ULN2065B has only 4.

TheBlackBird (author)jhoffnun2010-07-20

Thank You, i'll find a ULN2003 then.

Reffner (author)2010-06-12

This is great. I've got so many stepper motors lying around and never had the electronics or equipment to use them. This is Quick, easy, and very useful. Thanks!

About This Instructable




More by jhoffnun:PCB mount holder for coin cell batteriesTurn Pedometer into Manual CounterSimple Speakers/Headphone Selector
Add instructable to: