Picture of Easy to build CNC Mill Stepper Motor and Driver circuits
C:\Projects\Milling\Mill Blog\PortSetup.jpg
This is a follow up to the Easy to Build Desk Top 3 Axis CNC Milling Machine Once you get the machine all put together its time to make it go.

So it's time to drive the motors. And here I've put together a circuit that I think is the absolute cheapest and easiest way to control stepper motors with step and direction signals. It works with many of the free or low cost softwares that produce step and direction signals through the parallel printer port. I'll explain how it works but for those of you who just want to get on with it... The_Next_Step

But I would suggest for those of you who are unfamiliar with circuits to do it on a bread board (see pictures). This way you can easly correct any mistakes and try different things.

This schematic is just to control one motor so for the milling machine you need 3 of these circuits and 3 motors.
From Left to right and top to bottom. I try to draw schematics so that positive voltages are toward the top and ground or negative volge is toward the bottom. Inputs are to the left and outputs to the right. Fist off the voltage that you are going to use to run the motor needs to be stepped down and regulated for the logic chips. I used a 6.2 volt Zener to do this because it's low enought for the logic chips to receive the signals from your printer port and high enough for the outputs to drive many of the standard power FETs, so you may not have to use logic FETs like the schematic shows. So the resistor R1 drops the voltage, the Zener diode regulates it to 6.2 volts and the capacitor C1 filters out any noise from the motor, and this voltage powers the two IC's.
The first IC (CD4516) is called an up/down counter. One signal from the printer port will tell the counter if it will count up or down and the other signal, called step, will increment or decrement the counter by one count. Now were only going to use two outputs from the counter Q1 and Q2. With this binary counting method there are only 4 combinations of output from the counter: 00, 01, 10, and 11. These lines are fed to the A and B inputs of the other IC (CD4028) which decodes these combinations to 4 seprate outputs.
I did a trick here using the C input to work as an Enable input. If the Enable(optional) is connected to the parallel port and the computor tells it to shut off all of the outputs to the FETs will go low(Off). So the four outputs of the decoder drive the FET transistors and the FETs drive the four poles of the motor.
Now everybody wants to know what the light bulb is for. Its not so much whether you use a bulb or a resistor, its that a bulb comes with a socket. You can get these wedge base light bulbs from 1 watt to 20 watts. Start with may be a 4 watt bulb and if you find you need a little more beef you just pull it out and put in a 10 watt bulb. It's really handy. And I found it's good to have some voltage drop there as kind of a ballast for the motor windings. The diodes catch some of the current that comes out of the motor each time the FET transistors turn off. The diode feeds this current back to the supply.
When you get the circuit up and running find a power supply that puts out more voltage than you really need and then change out light bulbs till you get it running smoothly. Some of my stepper motors are 5 or 6 volt and some are 12 volt but it all works out.

I/m linking


dollarseed2 months ago

I've cheated a bit in making my CNC Engraver. I used the Arduino UNO with a CNC Shield and run everything with a free program called EFL CNC. That part of the work was super easy to complete. The machine on the other hand, built slightly different from yours, has been a 5 month project getting everything to work perfect. Mainly, it had to be pretty :) The design difference is due to the use difference. This will be engraving glass inside a water bath tank., which can't be allowed to slosh back and forth with the movements.

carben.dallas2 months ago

Hi, I'm using L298n instead of MOSFETS. The stepper seems to react but doesn't move, it's just growling. Is it because of L298n?

HoytKelley2 months ago
I've got something I'm working on and need 10 or more accessible drives.

Can this be paralleled to incorporate more axis?

Also if it is possible ... am I going to need a special program for an application like that?

Thank you
zurek223 months ago

Is this motor compatible with this driver???


John Webb4 months ago

I am almost done with this project, a few things on the way from farnell/element14, looking good so far, and with a little hard work and care I have added a few professional touches, such as solder mask, though I handled it a bit too much after it cured (Used a spray paint version). Some components aren't soldered in as I am not sure about their values, the resistors for example. Can anyone provide a complete list of the parts? as the list Tom has provided doesn't seem to match, is a few parts short and it seems he is rather busy. I did look at the schematic ofcourse, however seems like a different revision. Thanks Tom for this valuable instructable, when it's made I'll test it and mark this as "I made it!".

2015-04-20 14.48.33.jpg2015-04-20 14.48.56.jpg2015-04-18 17.31.07.jpg2015-04-20 14.44.57.jpg
AnthonyL58 months ago


If you are trying to use a simple parallel port to USB adapter it will not work. Parallel ports were not designed to provide power while USBs do. This means that the stepper motor will always receive a signal even when it shouldn't be. If your pins recieve power ONLY when connected to the computer, this is the problem.

AminA19 months ago

i made it and not workiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiing

cutdact10 months ago

Hi! I'm making this driver for my CNC, but when i step in KCAM the motor vibrates back and forth and then stops, any idea what the problem is?



please guys what are the values of c3-c6 i just need that to finish :)
and how about c6 is it imortant ?

Sorry to bring up an old thread but I have the same question. did you manage to get and answer?

thanks buddy and sorry for being late :)
thank you buddy i will finish it and post some pics :)
aozgen901 year ago

if i was to make changes to the design where it connects to the stepper can i make this circuit able to drive a 4 wire bipolar stepper motor

aozgen901 year ago

if i was to make changes to the design where it connects to the stepper can i make this circuit able to drive a 4 wire bipolar stepper motor

asad11111 year ago

I also have similar problem as "descartable" has. Any solution?

Thanks in advance.

Hi , I just finished building a single motor drive but I have a problem, when I plug in the 12V the motor start moving erratically back and forward, vibrate a lot and that disappear when I disconnect the enable pin of the CD 4028, control via parallel port isn't working fine either.I build it using a perforated board,I check all the connections and are as per the diagram.Any suggestions???Thanks

Hasersys1 year ago
So I am having a hard time. My motor will hardly step once, and back once. The motor heats up pretty hot. I have the pm55l-048 motor to test with. runnning 16v. any suggestions?

Yes, Motor gets too hot. I've the same motor pm55l-048 and running on 12 V with driver IC UCN5804B, tested on Kcam.

I think it might be be too small for load (800ma). Have you solved your problem ? I'm planning for bigger motors.

jatinbatra1 year ago
Hi, After making the circuit (I'll be breadboarding it ) can I expect it to run with Arduino.Rather how I can make it run for an uno. I'm trying to do this for a 3d printer ?

Is it for unipolar (AS IT SEEMS TO BE CENTRE-TAPPED )? How can i make it run for a bipolar stepper ?
Hi, I'm not a motorspecialist so I cannot give you an answer on that. Perhaps other users ?
With Arduino UNO you could better use Polulu-drivers.
Thanks dirver for replying :)
Can you just let me know some details that how it is programmed , do you use a micro controller to run the three steppers or do you program it with some software.?
I'm just curious how I will program it for the 3d printer.Thanks : and sorry for trouble

hi jatin

I have tried to drive this controller through arduino uno and it works !

you should use something called grbl you will upload a sketch to your arduino and connect your wires (step and direction) for each motor and run it with a software compatible with grbl I used grbl controller .

and when I used the enable pin It didn't work

so good luck and let me know what you achieve :)

use the following link to download the library and put it in it's directory the open examples in arduino software >GRBL>GRBLtoArduino then upload it


some guides :



Hi Jatinbatra,
For my cnc-router I use Mach 3, but I'm designing a 3D printer and then I use this Arduino-unit (including temperature controller, stepperdrivers, ....).
If you make a 3D printer with the driver here described, you will still need 2x temperature controller and the 4th stepperdriver.
I first wanted to change my router for also 3D-printing but the 3th axis would not go high enough so I decited to make a 3D printer from scratch.
Actually I'm only a novice and I don't know how to layout PCB, so it is pretty much cumbersome work to connect a sub25 connector .
What i'M doing is that I'm making everything on a generic (protoboard or breadboard ) kinda thing , so I wanted to know can you help me figuring out what should I do ?
Hi Jatinbatra,
Depends on what you mean with "figuring out".
Do you want to make Tom's pcb or are you making a new design ?
i just simply want to make the driver to run the steppers with computer control i.e the torque, speed (micro-steping) and direction via a pc for 3 motors.It doesn't matter to me whether it be CNC or 3D printer, All I want to do is run the motors .
I'm bit unaware about programming part ,.
The programming can be done with Mach3.
Look at the picture of Tom for this.
Have you already bought the components ?
No , I haven't bought the components but i have stepper motors which are all 4 wired , can't I use this circuit with four wires ?
No, I don't think this pcb will work with less than 5-wires.
I only use this pcb with 5-wire-motors.
For 4-wire-motors I use the china-driver-boards (3x motor for my router).
Regards and Merry Christmas,

Ho,ho,ho , Happy Holidays Dirk.You are really a very helpful person :)

I have four wire steppers and Tom has a six wire motor , of which two wires are connected to the bulb (which is actually for testing the circuit the circuit ) so I think if I skip these two wires , then I think I can do that right.Please fell free to correct me.
lxsedov1 year ago

I'd like to know how to choose resistors or light bulbs? I have built this circuit and tried different bulbs/resistors, but could not understand how to make my motors run at full power

jatinbatra1 year ago
Any chance I can use this circuit with 4 wires stepper ?
no, this circuit only uses single transistor per motor winding (only can sink, not source).

bipolar motors require totem-pole drivers (able to both sink and source, it requires two transistors per motor wire and logic to prevent cross shooting).

I'm new in electronics.So please tell me the use of light bulbs in this circuit.
Thanks in advance.
it is a simple and low cost solution for current limiting:
inductor (which is what motor winding is), is pretty much a short circuit for continuous DC (not a problem when pulses are short like when motors are stepping, but ....).
The light bulb absorbs any excess energy generated by the motors and protects the board
gakes1 year ago
Thanks for this wonderful instructable. I'm new to circuits so I made the breadboard model. Imust still fit the 6w bulb. How do I connect the board to the parallel port?
2013-12-24 11.55.48.jpg2013-12-24 11.55.48.jpg
Tom McGuire (author)  gakes1 year ago
Nice job on the bread board. If you do a search for "25 pin d-sub" you'll see what you need. You could cut up an old printer cable and use an ohm meter to find which wires go to which pins. Or you can buy a breakout board. Make sure the connector has male pins.
Thanks Tom. I'm struggling to find which points from the diagram to connect to the correct parallel port pins. Any help with that?
Tom McGuire (author)  gakes1 year ago
pins 2 = step, 3 = direction, and 4 = enable. And make sure to connect ground (0v) to one or all of the ground pins on the connector (pins 18 - 25).
I understand the p/port wiring.Where do I pull the wires from the breadboard?
Hi Tom , is this circuit only for 5 wires and above. Can't I use it with 4 wires?What alternative do I have if I have 4 wire stepper motors ?
HI, can I use USB to 25 male pin converter like this


to connect to the circuit on breadboard and after that use KCAM to run the motors?
jatinbatra1 year ago
Any possiblity I can use this circuit for a four wire Bipolar steppers ?
Am I doomed if I have 4 wire steppers ?
sonnbonics3 years ago
Could I make 5 of these and control a 3D printer?
Multiply the schema for 5 motors instead of 3.
Could be done.

What software and mechanics will you use ?
well, i have since bought a 3d printer, but i use pronterface. you think it would work?

What is the brand and type of the 3D printer ?
So I can see more specs.
A 3D printer is probably just a bunch of steppermotors which work with special software (like e.g. Pronterface).
Is a bit a X-Y-Z-milling machine but with a fluid instead of a spindle with drill ?? Or am I wrong ???
Yes you are pretty much right , Dirk
After investigation not so right. A 3D-printer also needs 2x temperature controller.
This could be done with a dedicated (separate) controller. So not controlled from within the steppermotorhardware.
If Pronterface works with pinout (parallelport) than this should work.
I've looked further and in KCam4 you can only connect 4 motors.
X, Y, Z and A.
And yo have to check if there are pins available on your parallel-port
Pins 1, 16 and 17 are available in the KCam4 software but you have to check if they are hardware available.
Also you have to check if Pronterface is capable of stearing your motors via the parallelport AND via pins (not bit's = processor needed).
This last one can be probably done by exporting to KCam4 and use KCam4 for driving your motors.
Why you need 5 motors ?
X, Y, Z = OK, the spindle you can mis-use to control the fluidwire.
Therefore you need 4 outputs.

dirver dirver2 years ago

Just tested the following:
Tom has foreseen pins 4, 7 and 14 as pen-enable (optional).
If you put NU in the port-setup of KCam4 in the place where you could enter 4, 7 and 14 everything is still working (because of the flag Motor Enable --> Always On).
Therefore you can use pins 4,7 and 14 (wrong IO-address in KCam4 !!!, &H37A instead of &H378) to control your 4th motor.

how powerful are the steppers?
Here in Belgium, they can lift 1 full package of 24 bottles of Belgium Beer.... ;-)
Depends on the motors and powersupply, not the circuit.

Hi , Can you please let me know whether the circuit will work for bipolar stepper or not ? If not , can you please let me now what should I do ? I 'm here trying to make a motor driver for a 3d printer ?
kfattoum1 year ago
can we use the motor controller of an hdd??
Hasersys1 year ago
Ok, just found the flaw in my circuit. Going off of a diagram from another instructable my resistor and capacitor was in the wrong place. Hopefully later when I get home I can correct this and get some thin going.
crob091 year ago
I'm linking my website http://electric-canada.com to this! It rocks! Great Job!
Anyone can machine a PCB with this stuff.
lewac1 year ago
just discovered this today and looking things over. this looks like a fairly straight-forward project overall if you possess mechanical aptitude and are comfortable around digital electronics. however in reading many of these posts it seems that some of you are not paying enough attention to detail. and when that happens stupid mistakes occur which can become very frustrating if you do your homework FIRST. here's an example. the author's using 1.8 degree unipolar steppers. so don't use servos or try to use something else (especially if you're not that familiar with the differences). secondly. don't be in a rush to get things done. rushing causes more problems that will wind up biting you later on in the project. take each step one at a time and understand what you are doing at THAT step before moving on. just my .02 worth of advice here.
crab shack1 year ago
sweet instructable, thank you Tom McGuire for sharing this. i have the electronic parts in order, the only thing lacking are the stepper motors. im really having a hard time finding unipolar motors, it seems like bipolars are more popular.

so can any one tell me if these motors are ok for this project? their the only ones i can find that are within my budget.
Product Information
Coil Type: Unipolar
Torque Max: 9N-cm
Current Rating: 0.16A
No. of Phases: Two
Resistance: 75ohm
Inductance: 60mH
Inertia: 28g-cm²
SVHC: No SVHC (20-Jun-2013)
Detent Torque: 1.5N-cm
External Depth: 33mm
External Length / Height: 42.3mm
External Width: 42.3mm
Frame Size: 17
Holding Torque: 9N-cm
Indexing Angle: 1.8°
Voltage Rating V DC: 12V
Take a look at these. I am using them with this circuit...

Outstanding design and instructable! Glad there are still people out there willing to create AND share!! Thank you very much for your contribution!
alihureiby2 years ago
hello guys. somebody can help me .
i want to make a cnc router with 4 stepper motor, but actually is has 3 axis.
in Y axis it need 2 stepper motor, so it can use this board or not? so i can paralel 2 stepper cable to make one.?
many thanks
If yer running Mach3 for your CNC = I currently run 4 steppers and have Mach3 Slave my Y and A axis as a single unit. Yer mileage may vary. Not sure if you parallel the cables if you would lose current or voltage.
Hi alihureiby,
Yes you can parallel 2 stepper cable to make one, but it will be better (if possible) to add one more same MOSFET paralelly (on PCB) on that axis you want to add those 2 stepper motors.
Good Luck.
B.Soares2 years ago
Beautiful work Tom, I would like to thank you for sharing this driver. I'm gonna try it soon. I purchased the components but I only found the MOSFETs IRF630 and IRF540. ¿Can I use one of this types?
If someone is interested, I try both types of MOSFET, and the two work great.
oso19932 years ago
would this setup work with mach3 ?
xxrayexx2 years ago
Connect them to the parallel port pins you specified in your port setup. For this example the PL8 & PL9 for the X-Plane connects to pins 3 & 2 of the parallel port
kumar12 years ago
hi, i am planning to build a 3d printer, but their is no how to's or hardly any info on it. so im going with bare bones nothing. except use hardware similar to the purpose, my main problems currently is making up a circuit to drive the 3d machine, preddy much cut to the chase the setup this board provides is almost everything i need except i need to know if its compatible with 3d printer software.. i think it is but if you have any info that would help please let me know,.
tramakatsa2 years ago
where do outputs PL8 and PL9 go on the stepper motor driver diagram?
Thanks in advance.
Dylogic2 years ago

I would like to replace the bulb with a resistor but how can I determine the ohms I need and the wattage???

holychachi2 years ago
I'm trying to come up with a way to control twelve steppers... Any ideas besides multiple driver boards?
dirver2 years ago
Small error in Port Setup printscreen of Tom.
Option 1: set pin 14 Reverse = True (instead of False)
Option 2: set pin 4, 7 and 14 on NU (as Enable is optional). You can than use pins 4,7 and 14 (reverse=true) for something else.
See pictures.
sgaspe3 years ago
I used 2N60 as the FET. But it seems like didn't working. Please let me know what is the best FET for use. My motor drives using 12V.
dirver sgaspe2 years ago
RFP12N01L Fet's.
Can anyone tell me if Xenon or Halogen bulbs would work as the light bulbs in this circuit or would there be too much delay in those? Thanks.
Why use expensive bulbs ?
The bulbs mentioned are simple car or bicycle ones.
Depends on the powersupply voltage.
mastertiger3 years ago
i make this circuit for my cnc machine
i use 60n06 as mosfet
stepper motor 4.6A
i use power supply 17v
i make limitation circuit for current
but i have two problem
1- 60n06 Heated so much i put heatsink but nothing change
2- voltage across motor is only 1.4v
i don't know why
i use 17v supply voltage
please help
Measured out the ic-pins as mentioned in the guideline ?
Your ic's should have 3V -> 5V input to work (see datasheet).
If not, check your power supply and part R1 (resistor 1K).
brcoenen2 years ago
Hello, can some one tell, or show me, how the lamp connects to the circuit on the pcb, i don't see it on any of the pics of pcb's or finished boards. I just see it standing there all by its self.

Thank you
dirver brcoenen2 years ago
+ from the pcb to lamp 1, mass from lamp 1 to motor 1.
+ from the pcb to lamp 2, mass from lamp 2 to motor 2.
Do not want to be smart and put all together.. does not work !!! Tried this before :-(
So you need: 3 x 5 wires per motor + 2 for the spindle = 17 wires.

wl8882 years ago
Tom or anyone with the answer please

firstly thanks for your Instructables.
have built the stepper control your design rev 2/11/07...cheep stepper. CD4516 and CD4028.

have built two boards so far.
for both boards, on slow clock test runs fine in forward, but misses Q4 output on the CD4028 every 2nd pass in reverse (tested with LED's) ie: direction to ground.
Apart from this every thing else works ok.
have You come across this before ? , if so, what is the cause / fix.

dirver wl8882 years ago
Already replaced the CD4028 ?
Also checked the pcb ?
Re-tip the solderpads whith your solderpin.
Perhaps a very small mistake ?
brcoenen2 years ago
Just wondering, is there a parallel port mode that i should be setting the port to? I thought at one time as reading through all the posts I saw someone say something, but don't remember what it was, have read alot of posts, and with the little inconsitant errors and non workings i have had to finally get to a motor move I have to ask.
dirver brcoenen2 years ago
Nothing to set, just check the base io-address of your LPT1 port.
Mostly 37xBh.
This must be the same as in KCam4.
pinkugkc2 years ago
there is no need any programming on microcontroller???
dirver pinkugkc2 years ago
Correct, just see the settings (pin's) on the KCam4 screen Port-setup.
KCam4 just puts pin's high/low. That's all.
The high/low's are translated to on/off trought the fet's.
No programming involved.
CANNONMAN12 years ago
Use the RFP12N10L Fet's.
Perfect for the job.
axlrus2 years ago
What voltage should i use for light bulbs????? My motors are 6v, and power suply 24. 12v bulbs got realy hot, and with 24v bulbs motors run powerless. What happens there, and how to calculate proper resistor to replace the bulb. Thanks
dirver axlrus2 years ago
If your motors are 6Volt than put max. 6Volt to the pcb.
Otherwise (perhaps already) you may crash the motors.
As Tom mentioned,use a simple powersupply (3 - 4,5 - 5 - 6 - 7,5 - 9 - 12) Volt switchable.

sanjaysy2 years ago
I built using PDF files from your instructable. it looks like +ve & -ve terminals have been connected using 1K resister, where are circuit says +ve & +ve terminals are connected with Zener & capacitor in parallel with 1K series resister. do i looking at the right bottom.pdf. i'm a mechanical engineer & limited knowledge of electronics, your help will be highly appreciated.

Attached a sketch with markups.

Thanks in advance.

dirver sanjaysy2 years ago

You mixed up the R1 (1K resistor) with C6 (capacitor 220uF).
slh12 years ago
Hi mister! Is it possible to connect your driver to the 4-lead 2-phase bipolar stepper motor? since I could only find this type of motor in my area. Thanks
addi1252 years ago
will this works with 4 wires stepper motor?
andrewuk2 years ago
Great intractable! But have you created a board yet for sub adaptor?
I am using stepper motor Nema23Part
No.: 57BYGH420
Frame Size: NEMA23
Step Angle: 1.8 degree
Voltage: 3.6V
Current: 2.0 A/phase
Resistance: 1.8Ohm/phase
Inductance: 2.5mH/phase
Holding torque: 12.6Kg-cm 132oz-in , with unipolar (For Bipolar connecting, the holding torque is 185oz-in)
Rotor inertia: 300 g-cm2
Detent torque: 0.4 kg-cm
Number of wire leads: 6
Weight: 0.7KG
Length: 56mm !

does it hold Nema23 ?
brcoenen2 years ago
Hello, can someone tell me if C7 is the the 220uF Cap? If i understand it rite, from what i read, all the rest are .1uF.
mnikolic2 years ago
Please, can someone help me! I made this circuit and it is excellent, it works with KCam, but I want to work with Mach3/ Why it is not possible to connect with this programe. Please sent me answer on vilan86@gmail.com

Thank you in advance!!!
grzegor412 years ago
As high power motor can be used in the electronic circuit, so as not to have to replace the values ​​of the individual circuit elements.?
maikeru863 years ago
Hi all, could someone please help me out with a relatively simple question?

I built a circuit board am I'm quite sure its exactly the same, I've tested it and it seems to be working fine.

My question is, when I load up Kcam, and switch on the single step mode and bring up the parallel port I/O display window (the window showing the high or low state of the pins) to test the board, It shows that the step bit is always on high state. when I click on a direction it briefly switches to low state then goes back to high state and remains there. Even if i invert the bit it remains the same.

Should it not pulse i.e. go to high state briefly when a button is clicked and then switch off again?? has anyone experienced this problem or is this the correct way to drive the motors.

I'm not sure what the specs of my motors are yet and thus cannot test if they work, but the output pins on the board do switch in the correct order and thus believe that the reason for my motor not responding is because of this.

Any help would be greatly appreciated!
mganpate3 years ago
i Have question about the will be used in small wind turbine. its yawing system purpose getting the wind direction purpose. if you possible this system tobe apply its with out vfd through its yaw gear box sytem Motor to be used this our our
below specification of motor

05 hp

we are making the pm dc steeper motor system with out vfd.

kindly suggest.

Mahesh Ganpate

shlxtn3 years ago
I am asking about computer safety ?.
It will not burn cpu or ram or any part of my computer,by residual current from motor?
t hank you
dpsilver shlxtn3 years ago
you should be be able to use supression diodes to prevent this reverse emf from reaching the computer if it gets that far, or even opto isolators but the simplest ting to do is to use a parallel port on an expansion card
not unless you foul up so badly you feed that voltage into the computer and then I think it would just blow the parallel port

I have a question, where are that wire on your circuit?
sgaspe3 years ago
I used 2N60 as the FET. But it seems like didn't working. Please let me know what is the best FET for use. My motor drives using 12V.
msobh3 years ago
what kind of motor that i can use ????
shlxtn msobh3 years ago
steeper motor
msobh shlxtn3 years ago
yeah i know that xD ... i meant are there any specific motor to use or the specification of the motor ... or any stepper motor will do the job ?!

thnx in advance ^^,
look for 5,6 or 8 wire steppermotors
cfreitas3 years ago
Excelent, I want to boy the parts right now !!!!
I only have a question : Would this circuit be enough to make work NEMA 23 stepper motors ?
can I use 24v 600mA stepper motors with this driver board?
hey....i make 3 axis cnc machine so,
hey i have a 12v d.c stepper moter so can i use this controller circuit ......plz as soon as possible give me ans...
yes you can, i did it too. you do not have to use any bubs or resistors then
medalhead3 years ago

Hy i used some motors on my board wich are not strong enough, these motors shoud be driven at 12 V. now i bought some new motors with more power.

for my old motors i did not use the light bulbs ore resistors instead, cause i did not need them....
but the new motors should be driven at 4V and 1A.

im from germany an cant find any bulbs with sockets that would match and do not have any 8R power resistor.
so is it possible to use a speaker with 8R??

edison013 years ago
Construction of the panel, it works perfectly! I would like to ask for help Mach3 program. Kcam works, but not the Mach3. I can not configure step, dir, port, pin, enable ... etc (screenshot) Please help. Thank you! My e-mail: edison01@citromail.hu
bawag3 years ago
what is your transistors value?
Mdob3 years ago
Hi, I am really looking into building this and I was wondering how this project fared with 3 stepper motors of varying sizes? Do you need to build different drivers or change things in software? Does this affect the overall accuracy or speed of it?

bogdanalex3 years ago
I managed to build this one , the motors are turning properly ... I still have some problems with "ignition" ... the serial port sometimes doesn't turn the driver on properly.

I was wondering how many Amps could I draw from this circuit powered by how many volts ?

lemieux73 years ago
Hi, Great project! I was just wondering. My stepper motors require 6 amps per phase. Would this driver configuration be adequate to drive them? If not, is it possible without a major re-design to just change out some components?

Thanks Carl
Hello! I think my level of knowledge is even lesser than yours, however pls I want you to assist me more over the electrical aspect of the 3d CNC Milling machine. I don't understand how I can connect the stepper motor to the circuit after the design, I also don't know the programme to write to control it, and also how I can feed the programme to the circuit for proper control. In short I'm done with coupling of the physical components since, but I've been helpless on how to proceed on the electrical aspect
Hello, I think I started the same way you did, not knowing very much about the electronics. I found out that all I needed was the stepper motors and driver boards in order to run three axis. However it got a little more complicated than that, come to find out I needed driver boards that could handle the motors that I bought. You need to know what size motors you have as far as voltage and amperage per phase. Then you have to find a driver board that will be compatible with the motors that you have bought. If you have not bought any motors yet there are a lot of good packages on eBay. Unfortunately I didn't know enough about the process so I bought my motors first then I had to try and find a driver board that was compatible with them. I found some components from this eBay store that I have listed here in the link. The man that owns this store has been very helpful to me. He not only had the components that I needed for my machine but he also gave me a schematic on how to wire them even though I didn't buy the motors from him. You can trust this man. I suggest you buy his CNC instructional book it explains a lot about how to wire your motors as well as what you'll need. As far as programming your machine, you will need some sort of CAD CAM package. You will also need a computer with a CNC controller software installed in it to control your CNC. I hope I have been of some assistance to you. Feel free to contact me with any other questions. I don't know everything there is to know about the subject but I think I could now build another CNC by the knowledge I've gained in this experience. http://stores.ebay.com/HUBBARD-CNC-INC?_trksid=p4340.l2563
spy99253 years ago
I can use USB to DB25 Parallel Printer ?
spec of motor?
Arduino Guy4 years ago
Hi, I decided to test my computer's parallel port before building this driver and for some reason there is no step pulse on the pins it was assinged to for all X,Y and Z axises. I am using mach 3 on xp. Can someone help me solve this problem. Thank you.
Did you figure it out. I have a mill running on K Cam. I would like to set it up for Mach 3 though. Did you get yours to run?
check your ports and pins setup

I set all the pins correctly, i know this because the direction signal for all axises works, can it be something else?
well, we know you got the direction pins and ports correct, are you sure you set the port on the step pins correctly? if so, then check your parallel port and cable carefully.
I just had a thought, easy it is to check direction signals , either high or low, but with step signals they dont last long enough to check them with anything but an oscope
I like my scope fooling around with this CNC stuff mine shows up about 18 seconds in:


I don't use Mach though I run EMC2 http://www.linuxcnc.org/index.php
Thanks so much for your contribution, I have been looking at reprap for a while and never understood the electronics. Yours make sense. I have ordered parts to build this circuit and I plan on driving it with Linux EMC2.

I am puzzled though, why don't you use voltage shifting transistors at the Step, Direction and if used, Enable inputs so that the entire circuit runs at full voltage, deleting the zener. The ICs are rated at 20 volts. Most fets need higher gate voltage to drive to saturation, (except the logic level parts you specify - but logic level fets I have found are much more expensive) and a couple of level shifter transistors at those inputs would be very cheap - maybe a few pennies.

Anyway, like I said, I plan on building your circuit as my first foray into CNC and I ordered parts to build this, and I'll try what I suggest too, see how it goes. Just curious if you had already considered that option and discarded the idea for some reason I don't see.
tag3r1s3 years ago
I have a question. Can I run this circuit on 3V? because i have 3 3V 2.1A stepper motors. I'm scared of burning them by running at 12V.
jackcamino3 years ago
Merry Christmas!!
Please, help me with something here?
I want to build a CNC mill because my actual project is building a guitar so, for a neck that is about 26 in x 3 in x 2 in; and the soundboard around 15 in x 20 in x 3 mm should I shop for a larger or stronger or faster motor; how large? does it need to be a stepper motor or any motor would do the job?
And the other question is what software do you use and if it is mac compatible?

crispycat3 years ago
thought id come back to this project as its been sitting on the shelf for a year or so after failing last time...
so everything appears to be in the correct place
the lights come on when i add power
everything is fine then after the computer gets past bios the lights switch off!
if i take the paralel out they all come back on again!!
any idea what i have done wrong?
ok changed the settings in bios for parallel mode from ssp? to ecp and the lights have come back on
and yay i now have one axis working woowoo!!
wirecase3 years ago
Hi Tom,

Thanx for this circuit! It's been quite a chalenge for me to get it to work properly but now I've finally got it to work. First I build it on a breadboard and now it's on a protoboard, the first axis done now, yey!

Further more, I have the same question as Kodex, what kind of resistor do I need if I want to replace the lightbulb. All the resistors, with the +/- same resistance as the lightbulb i've been using, I tried so far are getting very hot during use...

Tom, Anyone...?


kodex3 years ago

If I would like to replace the bulb with a resistor, how determine the ohms I need and the wattage it should handle?

itstuck3r3 years ago
Not gonna lie, I've built this board with about 7 different layouts and even got my electrical circuits teacher to proof read my work. I've built it correctly every time and it still fails...bout to just go buy a premade one or something :/
ragha anu3 years ago
pls tel y stepper motor can b used for cnc machining centres?
wat is d fact?
nikedp3 years ago
Firstly, I would like to say, that this tutorial is amaizing. Thank you for doing this.

But, I have a problem. I am using stepper motor stp-42d221-03 and I cant figure out, how to connect it with board. It has only 5 wires and all of them are grey (only first one has blue stripe). Please help. I tried connecting it about 100 times and it always goes few steps (about 5-10 depends on wire order) forward and few steps backward (about 2). I need help.


start with this webpage and work forward
adam.part4 years ago
hi there, a very good design, wang to make one, cann't get the 4516, what should I do?


i have used a 74191 instead of the 4516 and it works perfectly. just look at the two datasheets and find where the pins need to go. i ordered mine from www.allelectronics.com
if you need any help message me
thanks, i got 4516 and made a single axis circuit, but do not know how to start, i connect 25 pin on and set pin2 as step and goes to pin15 of 4516, pin3 as dir and goes to pin10 of 4516, pin4 as enable goes to pin12 of 4028, i am using mach3, what can i do now ?
right now i have a single axis too because i am waiting for better stepper motors to arrive.

you are correct on where the direction, step, and enable need to be.
to do a quick test unplug from computer. make your enable wire HIGH. make your direction wire HIGH or LOW. take a wire from your clock and move it from GROUND to VDD to GROUND......
everytime you touch VDD your stepper should move one step. change the direction wire and try it again. then ground your enable wire. if it stops power to the motor. if all that works everything is working onthe circuit side of the cnc driver.

i have not used mach3 yet but when i do ill let you know if anything needs changed. as far a kcam it works perfectly. just set up the port and the table settings and its works good. i cant seem to get it to run off of g code. only .gc files will work for some reason.

good luck
HI, stewie0056
Tried steps above and unfortunately, motor no move, must be something wrong, I just don't where?
What I did was start and test each component individually. The for example make sure your decade counter works buy putting leds on the outputs and have every thing else hooked up like the schematic except the parallel port wires. Then move your clock wire to high then low then high then low and so on. I every time it should count in binary from 0-15 if not then there's your problem. I if it does now move on to your decoder . Give it a known input by outing the input wires on your + 5 power and ground rails. The now check that the decoder is working properly and giving you the correct values. If so move on to the fets. I had bad luck with mine and I'm actually using a uln2003a instead of fets. Other changes I have made are I don't have a zener diode but I have a 7805 voltage regulator and I have added a 4700uf capacitor because my motors draw more current then my power supply can provide.

king5star4 years ago
Hello Mr : Tom

I have a question / Pin No.1 in lpt Running A Drill to Start ?
cbarth4 years ago
thanks for this great instructable. However, I have a question according the IC CD4516. Can I also use a different IC instead f the CD4516 because this particular IC is not aviable in my country.

moffett84 years ago
Any chance you will do this board for a 5 axis CNC? I'm building one now but don't have the board for it.
adam.part4 years ago
noob asking again, in my cirsuit, one of the 4 IRFZ44N bun up and bunned the 1n4742, I cahnged into 1n4753 happened again, what happen there, help me please.
All you insanely smart n helpful people!

i was suggested by my local vendor to use the 12n60 mosfet instead of the 12n10 as given...

now iv built the circuit, the motors power up on 2 axis but dont respond to KCam.
so is it because of the mosfets?

- also the bulb of the driver in the centre doesnt even light up...iv checked the circuit, nothing seems wrong..

suggestions pls?
JorLouJr4 years ago
Tom, the schematic is a bit difficult to read ... could you provide a better resolution one ?

Thanks and congrats ! ;-)

Jorge L.
dwn774 years ago
Gentlemen! I'm really sad because the day I finished my plate, and not getting hit, even out of primary tests.
Again I need help from the masters here.

I confess I'm lost! Do not know, what may be happening.

All 16 pins are having signal. The other pins 1-4-6-7 CD4028be, do not change status by clicking on the arrows.
Sometimes clicking on the arrows to hear the engine noise of contact very short.
List of board components:

K2391 (FET)
Lamp (i think is 18 volts or +)

Help me please, Thanks!
Damienb5 years ago
I like the look of this project and have started to accumulate the mechanical parts side of things. My question though in regards to the circuitry... What if your PC (in this case i wish to use a laptop) doesnt have a parallel port?

Simply buy a parallel port-to-USB adapter at your local electronics store.

 that wont work for this application

Im in the same situation as Damienb and i don't have a parallel connection on my laptop. I'm looking at getting a parallel port expresscard and i wonder will it suffice and provide the correct voltage for the steppers?

Cheers and thanks.
laptops have built in power conservation systems that interfere with the timely generation of pulse streams so good luck with that.
ziggalo4 years ago
does anyone know if this machine would work with a cardBus parallel port adapter like this http://www.eforcity.com/pdb25p1pbus1.html?efprcggbadtf110313=sc+gb+pdb25p1pbus1 ?

I want to be able to run this from my laptop, which does not have a parallel port
just wondering if you went ahead and used the card bus. Did it work for you? Im in the same situation and I am looking at getting a parallel port expresscard.

deanhenry144 years ago
Hi all,

since i dont have a laptop that has a Parallel port and i can't use a usb to parallel converter for the project, can i use a Parallel expresscard. Will the voltage from these be adequate for the driver board?


If anyone can advise, it will be greatly appreciated. Thanks guys.
j-pdup4 years ago
Hi, I was wondering if you can help me. I am running a PM35L motor. Wen I step in one direction with Kcam the motor steps completely fine. But when I step in the opisite direction on the third step it jumps an exstra stemp and dont jump on the fourth time. Please help me.
cousinles4 years ago
Toms driver is buried in there somewhere. it works great for me
dwn774 years ago
Hello! Gentlemen! I have a doubt, as the printer cable!
What kind of cable should I use?

I am referring to the kind of internal connection!

Thank you all!
I used a scanner cable from a computer recycler, used the appropriate connectors on each end.

Thanks for the reply! ... I was referring to the internal connections of the cable. I am using a cable with both ends DB25 (female).

DB25 (female )<-----------------> DB25 (female).

I checked the pinouts and are all direct and not have wires crossed.

I'm having problems and I am trying to fix it.
straight thru is correct
dwn774 years ago
Gentlemen, I again beg everyone's help.

I am not able to make my device work.

First, and does not know the wiring of the engine, and not have the data sheet it.
I'm using the motor from Sanyo Denki -
Type 103G775-1511
17.5 V DC
1 / 8 Deg / step

I'm using a controlled source of OMRON, Min.17.6V Max.24.0V-1.1A.

And second that I'm not understanding the correct order of connection of the motor wires and the order of the output FETs.

If you can help me with this I'll be very grateful!

Thank you for all!
WOW! you made your own driver board!?! it looks so much simpler than the HobbyCNCPro kit, but i guess it doesn't have as the settings for 1/2step, 1/4step and so on, but i guess you could just make different versions of this board, or just implement the switches in. How did you make the PCB if you dont already have a cnc machine to cut it out? It doesn't look like you did the acid wash way.
This is what I did:


But my circuit is a little different and I do have microstepping on mine.

Works good too:
Hi, Can I use a USB to PARALLEL (CENTRONICS) converter??

What are the light bulbd for??? can't i just remove them??

thanks 4 answering.
the bulbs limit the power going to the motors, if you use a big power supply and no bulbs you will fry the motors and possibly the board.

I bet. If you want to get unstuck send me a message maybe I will be able to help. This is one of my motor drivers:


So I'm pretty good when it comes to these stepper motors.
hello , friends the z - axis motor is not working whats the problem man plz helpo me

I am currently using win 7 ult. My system does not have a parallel port.
Bought USB to Parallel cable. I lied to windows, and installed a new
printer. I then changed the port in Properties, from LPT1 to USB2.

This configuration runs HP laserjet 5 and Cal Comp plotter.
Windows thinks plotter is HP 430.

Have not tried Mach 3 yet, but autocad, and solidworks , print just fine.

Setup on Cal Comp 3025 is set for HP-GL 2. Kind of universal data stream.

Hope this helps.
ghuebo4 years ago
Hello! I´ve just build my own driver using your plans but unfortunately it doesn´t run well. I took the decision (probably bad one) to substitute each the light bulb with three 25 ohm- 1A variable resistor, but I don´t know why... it is not working. I´m using 12 volts 1 Amp stepper motors. If someone could help me i´ll thank you so much, because i´m really stuck.
pfred2 ghuebo4 years ago
I bet. If you want to get unstuck send me a message maybe I will be able to help. This is one of my motor drivers:

So I'm pretty good when it comes to these stepper motors.
dwn774 years ago
Hello gentlemen! I'm having some doubts, if you guys can help me! I am thankful! I am not able to find some components, so I made some substitutions on your own. questions:
1-I am using a voltage regulator NJM7806FA in place of the zener. Will I need the capacitor and resistor too?
In place of the 2-RFP12N10L'll use the 2SK2391. Would I have problems?
3-Still in place of CD4516BE CD4028BE and I use TC4516BP TC4028BP and, I believe I'll have no problems with them, am I right?
4-have for me, engines 17.5V 0.25A 1.8deg/step 6 wires, what is the voltage of the light bulb?

Thank you!
key_j dwn774 years ago
Man i doubt someone is listening to reply
Anw the 2SK2391 will work perfectly but i recommend to use lm7806ct instead of NJM7806FA
lm7806ct are really cheap and let you up the voltage to a max of 24v without changing anything, the zener will blow without the right matched resistor if you go over 12v and you can replace the 1k resistor and the 6.2v zener with an lm7806ct
dwn77 key_j4 years ago
Hello! Key_! Thanks for your response! Glad I can use the voltage regulator NJM7806FA, and only because I have this available where I live.
Yes, I use the voltage regulator, the zener is not available here.
Thank you!
key_j dwn774 years ago
Don't forget to post the results after you finish working with the controller
key_j4 years ago
Could i use 3 unl2003a instead of the 12 mosfet's and 3 bulbs
Plz reply this time
key_j4 years ago
Sir I'm starting to collect the necessary components to build this driver,,,
I found these 2 24v stepper motors extracted from an old hp printer:
pm35l048 and pm55l048
Datasheet: http://www.eminebea.com/content/html/en/motor_list/pm_motor/pdf/pm55l048.pdf

I want to know if i could use them and what changes to the board should i do
bilal_dmx4 years ago
SO now we made our own new CNC control circuitry using PIC18F4520 , L297 and L293 and IRFZ44N , If anyone wants to buy let me know :)
Just finished my first driver board using IRF1405P,
no need heat sinks, no need fans, no need "inductive kick protection" diode.
Youtube link: http://www.youtube.com/watch?v=WVn75NmoPUU
anmo4 years ago
I built the board and works but the step motor does mot run smoothly there is kind of jump in order to make it run smoother I had to set 10000 steps per inch a 1000 does not make it smooth any advice
knutselman4 years ago
Can this circuit be used with IRFZ46 Mosfet's???

I hope so because I have 12 of them here...
millouzzz6 years ago
Hi , iam Algerien , look at this one
hello were could i get a better picture of this circuit .
and the parts list
zhr4 years ago
hi...I've just done my board but I need stepper motors...I've found some one but they are with 4 wires...can I use them???
woodspinner zhr4 years ago
no, this needs unipolar motors with 5,6 or 8 wires
DOutsider4 years ago
Hello everyone I need some help for the components please, what are C3 C4 C5 and C6? They don't appears on the components list.
Somebody can help me please?
I solder my circuits today and I see I don't have these components.
.1 uf, happy soldering
Thank you very much.
I use a 12v power supply but does on this circuit board the tension is about 12v to the motors?
If yes, how can I lower the supply voltage of the motors to 4.1v please?
dont reduce the voltage to the motors, their voltage rating means almost nothing, only the amperage matters within reason
I don't understand why their voltage means almost nothing?
I got 1amp per phase.

What is the voltage of the motors when we use a 12v power supply on this card?

Too high voltage or too low is bad for the motors,
Stepper motors in particular are given arbitrary voltage ratings, these ratings are not the optimal voltages to run them at which generally is 20-30 times their rated voltage. Its the amperage that has to be accounted for to keep from harming the motors or more exactly the coils in the motors, thats where the bulbs come in to play, they not only limit the amperage flowing to the motors they also handle the flyback current that comes out of the coils when you cut power to that phase.

my motors are rated at 3v 1.2 amp, I'm currently running at 36v and about 1amp, my speed and acceleration are great. And my motors get warm but not to hot to handle so their not being overpowered.
Ok thank you very much, I got a dc power supply about 12v 20amp with the same circuit board so I can use my 3 stepper motors 4.1volts 1amp with this card? I have one last question I have to use 12v bulbs but how do I choose the wattage of my light bulbs?
Ok thank you very much, I got a dc power supply about 12v 20amp with the same circuit board so I can use my 3 stepper motors 4.1volts 1amp with this card?


I have one last question I have to use 12v bulbs but how do I choose the wattage of my light bulbs?

One amp at 12 volts = 12 watts, I'd suggest being concervative and shoot with 11 watts.

Thank you again ^^.
Sorry to hijack but is the bulb just to force the current through the motors to the value you want? Surely there is a p.d. drop across the bulb which lowers the p.d. across the motor?

Or am I way off?
the primary purpose of the bulbs is to limit the current going to the motors.
CMNDR4 years ago
Hello guys,

I'm in the process of getting the driver board complete as well as the actual machine. While attempting to set up EMC2 for this board, the pin out can't be matched perfectly to the board, as there is no X-enable, Y-enable, or Z-enable in the software config. Is it perfectly necessary to have an enable for the motors to work and I need to find some other software to use or should the control board still function without the computer sending a signal to the enable pins?

I do know, that not all drivers even use an enable, and tom did mention that the enables were optional at some point.
Sorry to do this but i really want a reply
Can i substitute the mosfets for some kind of transistor
If you haven't gotten the mosfets yet you can get then from Digi-key for under $10.00 and they will ship them through usp for around $3.00
In all honesty I couldn't tell you exactly. While it might be possible to use a transistor in place of the mosfets, you would have to be cautious of the current and the switching speed of the transistor. Like I said I couldn't tell you with 100% certainty that you can or not but those would be the two main things to consider when switching out that component.
Ok, thanks.
So I went to test one of the axis as I'm close to completing all three, and when I hooked up the parallel port, I was unable to get the motor to spin... I have a setup where I moved the drivers receptor parallel port off of the board, and used stranded wire to attach the pins to the correct places... do you know if the fact that stranded wire and data don't play nice would cause the motor not to move, or should I look elsewhere for a different problem?
slayer044 years ago
does it matter what kind/brand of stepper motor I use?
use unipolar stepper motors with 5,6 or 8 wires.
DOutsider4 years ago
Hello the brand of the motor doesn't matter but you can only use unipolar motor with this circuit.
Unipolar motors can have 5 or 6 wires, you can wired a unipolar motor with 6 wires like a 5 you've got the 4 extremities of the coils and you put together the two other wires.
zopatch4 years ago
Is there any replacement to RFP12N10L?
I have a Soyo 12V unipolar six wire Stepper Motor and I'm wondering if this circuit would work.

I'm just learning electronics so, given a 12V power supply, wouldn't the other components drain voltage away from the motor, making it possibly not work?

Just wondering as this board doesn't look too complicated even for me. Thanks!
bilal_dmx4 years ago
More images , breadboard + Logic trainer.
bilal_dmx4 years ago
Made and done!
We isolated the problem causing component.
It was the stupid CD4028 Decoder. Apparently the ones I got were chinese and very fake. They only work once or twice and then refuse to work at all. There was no problem with the FETs nor the counter. We have totally reverse engineered this and understand this controller from start to finish. As such we have made our own version of it and we may further refine the electronics on this circuitry to include gate drive circuitry so the FETs may operate in the saturation region. This will allow me to add indicator LEDs. Also I use a fairchild decoder and a motorola counter with my controller and it works superbly.
We implemented this on vero and tested it with the computer and as a standalone drive.
The problem here is that people try to copy this off without understanding or attempting to understand the electronics. You will not be able to troubleshoot this circuit.
chony4205 years ago
Here is mine, i have some problem yet, but working on it, it work just to one side, the direction pin aperantly not working, in kcam, and with the paralell port tester. I think the problem is the stepper motor, becouse i take it from an old printer, i will buy a new one on monday to test. Here is my circuit board.
2010-08-23 23.30.20.jpg2010-08-23 23.31.13.jpg2010-09-04 02.02.29.jpg2010-09-04 02.10.05.jpg
I think the board is made wrong...
Its made as a mirror.
I've made today the same, I've noted it after drilling the holes.
In the top black image of the tutorial appears the componenets and how they goes. In that image you have all the information to make the circuit board.
Video Comming soon!!!!! It woks, it give the pulse to the pin and the stepper motor make 1 step every pulse, but cant change direction yet. When i fix that i will upload video.
astrole4 years ago
i have constructed this controller with some modifications such as i opto-isolated the logic circuit from power Mosfets and instead of zener diod i am using voltage regulator with resistance in series to limit the current. the circuit is working fine i have checked the step sequence its perfect.
the problem arise with motor i am using 2.2V stepper motor with 3A per phase 1.8 degree step. In kally cam i am using 2800 steps per inch as per my requirements
i have used 12V to 50V at 3A but not been able to resolve my problems as

1)the motors getting too hot in a 4 min run
2)motor skip steps after 15IPM
3)there is strange noise with the motor and its vibrating too much

i tested with different motors but got the same noise every time
some how i read some articles and they say there might be a possibility that with the micro-stepping i can increase the speed and get rid of noise
any help on this matter would greatly appreciated
1-too much current to motors

the only other I can help with is that this controller wont do microstepping.

erollitse4 years ago
hi guys!! im new here in instructables. actually i utilize the circuit controller for a CNC lathe machine. the circuit performs well until several trials, i found out that my irf630nn gains temperature as my machine operates. what should i do with this? also, i placed a heat sink to the MOSFET's the results made the rectifier diodes in my power supply to burst with heat. can you give me a piece of advice with this problem. your advices will be deeply complemented.
bilal_dmx4 years ago
We are trying to implement this board for a university project , an industrial automation course basically.
We are testing this circuit on the trainer and are currently supplying the CLK pin of the counter with a continuous square wave.
We then took the outputs from the decoder and plugged them into LEDs.
The sequence was absolutely perfect.
The problem came with the MOSFETs , we are using 12N60 in place of 12N10 and they donot seem to switch properly.
We connected the gates of the MOSFETs to the output of the logic circuitry and thus each time a 3.25-5.25 V is passed to the gate it should short the drain and source to ground the coil and charge it , hence moving the motor.

The issue arises here....12N60
http://www.utc-ic.com/spec/12N60.pdf(datasheet for reference) is not swtiching properly. We connected the MOSFETs independently and simply passed a 15 V to the gate and took a wire from the drain and input it to the motor..the motor just vibrated. Can someone tell me a suitable replacement for 12N60 ?

12N10 is not available here...
Ok we replaced the 12N10 with an IRFZ44 and the motor is giving a beautiful response. The problem is that , when I connect the MOSFETS to all the 4 coils (in correct sequence ) the motor gets stuck. However , using the MOSFET switches individually ,giving a 4V gate voltage and then attaching the drain causes it to function properly. The motor shaft jerks towards the charged coil.
OK , so I managed to move the motor successfully , in a clockwise direction! :)
I removed the diode that was connected with the motor source (freewheeling diode). Then I suppose , the MOSFETs were not receiving ground properly!
So what I did was , directly ground the MOSFET gates on the logic trainer , then individually move the ground pin to the voltage source (the IRFZ44 's Gate threshold voltage is about 5V impressive).
So the gate voltage when applied in the correct sequence moved the motor correctly ! SO far the MOSFET switching mechanism is working flawlessly!!

To make it clear i am only driving the motor using the MOSFETs. Directly applying the voltage at the gate while grounding the rest of the gates..
Anyone with knowledge on this PLEASE please comment!
are you bread boarding this? any pictures?
munymuny2004 years ago
do you think you could use a usb port?
no, a usb port will not work with this driver
if there are any drivers with a usb schematic please let me know
munymuny2004 years ago
my computer dosent have a parrarell port?
jmrgn6934 years ago
Hi I am getting the parts together for this board. My question is what are the values of C3-6 and are they needed because I don't see them in the schematic or the parts list but they are shown on the board and all photos I've seen. Thanks Jim
.1 uf or thereabouts
No1Daemon4 years ago
Hi all

I wasn't paying due attention when I built this circuit and I have soldered the end of the diodes to the part of the board where the stepper motor wires go. The diodes are supposed to be soldered directly next to them.

I can't see it will change anything but can anyone see a problem with soldering the stepper motor wires next to the diodes?

I have marked the 2 positions I am referring to under the mosfets.

woodspinner4 years ago
A salute to tom mcwire and his article for getting me into cnc routers
phanhuuhoan4 years ago
hey !
axlrus4 years ago
if i put 24v to input, did i need to change capacitor to 24v too????
no, but if you use a voltage regulator instead of the zenier and resistor you wont have problems regulating the voltage to the logic.

axlrus4 years ago
Driver working good with Kcam, 6wire steppers 0.4a, thanks.
alnajem4 years ago
very good thanks
jmrgn6934 years ago
Is it possible to use a 4 wire motor with this board? If so where do I connect for the bulbs?
NO! those are bipolar stepper's
LastViking4 years ago
I construct this controller but i wont control only the Y axis! The X and Z when I connect the motor, the lamp are ON and the motor vibrate! Any ideia for this problem?
Sorry my english

If the motor just vibrated you might have wired the motor wrong. Check your wiring.
If i change the wires, in same posicion of the Z axis to the X or Y axis, the motor vibrate in X or Y! But in the Z axis he works fine!
Are you using the same motor for the X or Y axis as the Z axis? If the wiring works for the Z axis, try using the driver from the Z axis on the X or Y to see whether it's problem with the driver on those.

Another thing you can try is hooking up the driver from the X or Y axis to the Z axis to find out whether they work on the Z-motor or not.

If you are not using the same motor, it's possible that the driver is not providing enough current to energize the coil.
I tested with a same motor in the 3 Axis and only works fine in the Z!

How i configure the software?

Did you build the driver yourself? Check to make sure that you didn't place any components backward especially the MOSFETs or the diodes.

What software are you using? I'm not the expert in terms of configuring Mach3 or Kcam, but I think you need to make sure that you port address matches the pins you are driving. I think the author for this intructable went through the software settings for Kcam. I think another member gave the following solution:

MedalHead says:
I figured it out.
you have to go to "Setup" and then "Port Setup" and then configure the Pins.
for x step/ direction it is Bit 0,1 and Pin 2,3 .
for y step/ direction it is Bit 3,4 and Pin 5,6
for z step/ direction it is Bit 6,7 and Pin 6,7

Maybe you also have to set "inverted" to "true" for the enables for X, Y and Z.

does that help?

Good Luck
I'm go verify the board! The configuration it is al-right!
Tanks for your help
zelalem4 years ago
Hi Tom,
I have studied your instructable with a great interest. Some things were not clear. oul it be the fact that the KCam program was not installed correctly because i don't see the increment of the numbers whichever axis i try as in your video.Can you suggest a book or books i can read or online course i should take to tackle everything that has to do with CNC. Please advise me.
Thanks again
howim4 years ago
hey guyz. what is the details about Zener Diode? I maded up this controller it was working fine for one day and next day it became *hit...

i think i used wrong Zener Diode. bocz i found that only my ICs became *hit and every thing else is just fine...

PLZ PLZ give me details about Zener Diode.
The Zener diode is acting as a voltage regulator. It's running in a reversed biased mode, giving the 6.2V reference point for the circuit (Vdd). You can damage the diode if you are passing too much current through it. Too much current will go through the Zener if you don't have the 1K resistor above it (or if you put a lower value resistor there). According to the data sheet, The Zener 1N4735 is only rated for 1W so it could burn up if there's current near or over 150mA. Another quick way to destroy the Zener is hooking it up backward, but you would probably notice that right away. Also make sure that the source voltage is near 12V.

If you can't figure it out, I guess you might want to consider substituting the Zener voltage regulation with something like LM7806 dc-dc regulator to regulate the voltage down to 6V. LM7806 is a bit more robust to over voltage and over current.

why dont you use a 5 volt regulator instead, the lm7805 is one option, I'm sure there are more available
bcfrommt4 years ago
Can someone tell me the difference between 0v and ground. Thanks

0V means it's not getting voltage (OR the line is crossed with GROUND). Ground is "point of reference" (by definition electronicly). B/C you CAN have NEGATIVE voltage; but to be able to MEASURE it, you need a "point of reference" - or GROUND.
do i need a gcode compiler to use linux cnc or will it do it it self and if not what one would be the simplest and best
also what size voltage regulator would work
Hey Friends i have a queistion
Does it possible to controlle the 0.75 HP Motors with this controller
if Yes then please guide me how
Hey Steveastrouk
thanks for replying
can you tell me the reason why we can't do that.
Yes, the transistors and design won't handle 500W. Its not the right way to drive big motors, and the right way costs money.
Is there any other option to control such kind of motors
You haven't specified WHICH kind of motor you have.

he has a bunch of other sites where he talks about this projects a bit more.
howim4 years ago
Hey Guyz , what is the maximum V and Amp value of the controller? i mean what is the maximum limit of this controller? plz reply fast...its urgent
makjlebjleb4 years ago
need help here.. i can't find bulb lamp in my city, if i change the bulblamp with the resistor, what is the suitable value for the resistor..?? thanks.
Hey I've never dealt with Mosfets before could I Just use normal transistors or somethimg. Also if i cannot ise transistors how could i pick a mosfet that would work
A Mosfet is a perfectly "normal" transistor, and you can't easily replace them with a BJT type transistor.
MOSFETS are transistors.
howim4 years ago
hey guyz, i am having a small problem...

i maded up this controller . it works totally fine on old pcs (older computers of my friends) , but it does not wokr with my new PC.

i tested my parallel port. it works fine too. if i connect LEDs to parallel port and run Kcam then leds shows that parallel port is working fine. but my controller is not working with it.....so can anyone tell me why?

my pc=
Intel DG41WV MoBo
core 2 deo 7500
4 gb ddr3
nvidia geforce 210 1GB
500 GB HDD
Win 7 , XP sp2, Ubuntu.

i tested with win7 and xp.but it doesn't wokr...............
plz plz plzzzzzzzzzzzzzzzzzzzzzzzz HELP
howim howim4 years ago
i found the problem.. === when i connect the Earth to negative of the controller then it works 90%fine (if gives miss stepping some times) ...

so guyz plz tell me what to do now?....plz help...............
sydios5 years ago

i have a problem with the software, i set the steps to 1000 per inch and then
i open the manual control, and set the steps to 0,001 but when i click on the arrow buttons the "digital" display don't change and stays on 0,00000
Anyone have a idea ?

thanks ...

I have the same problem!
Do anyone know how to solve this?

ive got the same problem with KCam... 
Does anyone had the same problem and resolved it ?

I figured it out.
you have to go to "Setup" and then "Port Setup" and then configure the Pins.
for x step/ direction it is Bit 0,1 and Pin 2,3 .
for y step/ direction it is Bit 3,4 and Pin 5,6
for z step/ direction it is Bit 6,7 and Pin 6,7

Good Luck
 so pin 6 is used on two different axis for x purposes?

i tryed what you wrote, but when i hit "apply" the settings go back to where they are.

Maybe you also have to set "inverted" to "true" for the enables for X, Y and Z.

does that help?
sigmaz4 years ago
I can't get it to work!
I copied the folder where you wanted me to but all emc2 does is terminate win errors.

I think the newer version needs an updated config set..
Can you help?
do you get this error message? "insmod: error inserting '/usr/realtime-2.6.32-122-rtai/modules/rtai_hal.ko':
> -1 Operation not permitted"

There is a fix for this at:


If you get a memory error there are links for that too, but this is the error I recievied after installing emc2 w/ ubuntu 10.04 from the live cd, and this article helped me get the software working.

Good luck
madvilla4 years ago
hello to all I am new and I do not speak English if it does not understand or ...... in this and I am kind in realising a machine cnc for my factory the question is if this interface works with a special program or although they can help me in like please doing one of these machine cnc
solarprism4 years ago
I ve checked by your procedure and the problem is that the pin 1,4,6,7 of the CD4028 blink each time i click and the motor doesnt move,only vibrating. When i select single step to 1,first it vibrated and then rotate normaly but in one direction only.Can you give me some advice?
solarprism4 years ago
Hi i built a circuit of this schema but have the problem on the direction,only one direction work,the cable is fine.I use Kcam.Anyone have the solution yet ?
ah i forgot, i used 5V 1.2A motor so i removed the zener diode and connected directly the 5V source to the ICs and motor,the GND is connected to GND of source.I wonder if that is OK?
Hey i have motor of 12 v.
I give 12v on the circuit but the motor knob only vibrates it does not move in either directions. then i checked voltage through multimeter at the bulb it shows between 4 to 5 voltage. so do i require to give more voltage to the circuit.??
ninjanody4 years ago
Some photos of mine version. ;-)

I hope to have some time soon to build the router table..

i hope this photos help people how to connect the parts..

( i will not build anything in the future in prototype board.. i spend double time in soldering than i would spent to print & eatch a board )

Too much Soldering but it work fine. Tested with Kcam.

How are you? I built the same board like that and would like the pictures for clarification. I can't really get the pics from here because the pics are being saved small. I will message you my email if you will send the originals to me, ok? Thanks,

bogdanalex4 years ago
One more question: Do you think the motors below are any good with this driver ?
If yes, what is the proper voltage & current that should I apply to the circuit .

Astrosyn - Shinkoh communication industry co. ltd
type: 23PM - C109

5.4 V/phase
1.5 A/phase
1.8 deg/step

Lenght - 80mm
diameter - 55mm
shaft diameter - 6mm
I couldnt find any more specs on your motors than what you showed, I'd start with 1.5 amps at 12 volts and go from there. Good luck with your build
additional info for the motors :

6 wire motors and 8 ohms resistance on each coil.
kosme4 years ago
I am having problems with this. X axis works fine, Y axis only works in one direction, Z axis doesn't work at all. Anyone with similar problems??
kosme kosme4 years ago
partially fixed the problem. You have to set to true the inversion of pin 14 in the port settings. Step and direction pins in Y axis have cross talk, that is causing that it only turns in one direction. Same with Z axis. Still have to figure out cause
bogdanalex4 years ago
I got the circuit working BUT , in K-Cam when I tell the motor to make a step, instead making it properly, it shakes rather then step . Does it need more power or something? Or what might be the problem?
It could be, that the motors arent wired up properly, or maybe you have the accelleration set to high
the thing is I didn't find any datasheet of the motors I have although I think I did wire them properly . they have red, white-red , green, wite-green, black and white wires so I figured the red pairs are one coil, the green pairs are the other coil, and black and white are the "middle" of them.

What do you mean about acceleration? I set things in k-cam like McGuire did, if that's what you mean.
if you take the wires from the motor check the ohms between all wires, I'm counting the colors you mentioned and getting 6, so checking ohms will identify the two sepperate phases easily, your common will have half the ohms with the other two as they have to each other.

if ground the commons together to powersupply and hold any one wire to the positive(we will call this #1) then touch any of the remaining wires also to the positive one of three things will happen, the motor will setp slightly to the right, slighty to the left, or no difference.. we now number all the wires like this, first wire is #1, no difference is #3, slightly right is #2 and slightly left is #4, thats the order they would go in on the board...

I really hope I explained it well.
hey does any one have bread board circuit image because in the image given by auther 25 pin connercot not shown and
i am not getting how i can connect the circuit with the Parrallel port.
i tried it through Pin no 2,3,4 for only X axis.
Does it enough for controlling A Single Stepper motor throgh KCam.

Plz Reply its urgent

thanks Nishant
at the intro of this inst. there is a photo of the config in kcam and it says wich pin is what.

2 - X Step
3 - X Dir
4 - X Enable

5 - Y Step
6 - Y Dir
7 - Y Enable

8 - Z Step
9 - Z Dir
14 - Z Enable
Thanks for Replying
I got what you mean.
one more problem is i have a stepper motor PM35S-048-Zyq6 and i haven't any detail of that Motor. I inquired on NMB Company Site but i am not lucky for getting Information. it has five wires black, red, orange, Yellow and Coffy, and i am confused which one should i connect through the LED(Lamp). Also I haven't any techanical detail of Motor like Voltage,Amp,Resistance etc.

If any one knows please Help Me Thanks
u can check with the continue tester or the resistance in a multimeter the cables and figure out what are the cables for.

the 5-wire motors is the same with 6-wire but the common cables are connected and it has one lead than 2.

connect the multimeter to the first wire and check the resistance to all the others.

the one with half resistanse is the common cable that u should connect to the bulbs.

*attention.. in 5-wire motors cause the common cables are connected u will get 3 different measurements.

the bigger measure is from 2 coils.
the middle is one coil lead to the other.
the smaller is from one coil lead to the common ( in the middle of the coil)

check the photo. in your case the common wire is 5 & 2 connected to one lead.
the numbers i use are theoretical. In 6-wire motors the 2 and the 5 are the common. Probably in 5-wire motors the 3rd wire is the common.

Hope to help and sorry for my english. I am not good enough.
hey one more problem is there with my steeper motor my motor knob is only vibrating continuously even if i give 12 V to it.
it does not rotate in either of any direction.
I don't know why this happen can any one help me
i found only this about ur motors. It dosn't say about connectivity ..

Did u connect the pins 18 - 25 to ground?
does it require to connect 18-25 pin to ground ??
not sure but if u have to connect all of them to ground. i believe that u should check with a multimeter.
ninjanody4 years ago
i also check the port setup in kcam and it seem that relay for spindle

can be pin 16 & pin 17. u are right woodspinner.. :)

Spindle CW ( it mean clockwise rotation ?) & (CCW is the opposite?)

if so then we should connect to one pin of them (pin 16 in normal & pin 17 is inverted) and the other to ground ?

this pin give 3,3V so we need a relay for 5V?
um, cw stands for clockwise and ccw for counter clockwise, I am not, nor have I ever used a spindle relay, but pin 1 was set up for relay control on this board, I would assume a system that also controls rotation and speed would also need control pins, so 1, 16, and 17 can be used for output signals to controls.

Your reading 3.3 v on your output pins?

are you also reading 3.3 v on say pin 10? which is an input signal pin?

Are you using the zenier/resistor for the logic power supply or a voltage regulator?

pin 10 is 0v.

i am using zener..
the relay needs to be able to be triggered by the 3.3 volts your reading. I would guess, if the relay needed 5 volts you could change out your parallel port for one that puts out 5v, um, is this port on a laptop?

no desktop pc..
PC manufacturers are gradually phasing out parallel ports altogether in favor of USB, and in the meantime, they are sharply controlling the power consumption of these interfaces. As a result, many later model PC's use 3.3 volt signals instead of 5 volts.

I'm not certain, but I believe this circuit needs a 5v output from the port.
it work fine but i cant find anywhere relay for 3.3V only for 5V. I should test if 3.3V are enough to trigger the 5V relay. Else i should amplify the voltage a little bit.
you could also consider using an opto isolated break out board, that would do the trick
i was looking wrong pins.. pin 1 is for the spindle in this schematic.
Hi, do you have a circuit for bipolar motors?
i think this controller can work with both types of motors..
kosme4 years ago
what is U1 in the silkscreen?? It is not mentioned anywhere
I'm guessing its the optional voltage regulator
howim4 years ago
hello friends,, i cant understand that where to connect the + and - of bulbs ..
some one plz help me...and will it make a problem if i dont use bulbs?
plz reply ...i really need help
Looking at the circuit board above, the left edge, one side to the connector from + other to the bar next to it, then the common from your motor goes on the same bar. Hope that makes sense
ya i get it...but i think i am not going to use any kind of lamps in it....
good luck with that
ninjanody howim4 years ago
the motors return some power to the board. thats why there is the bulb.. i had test mine with & with out bulbs and the only difference was that the mosfets get too hot.. i assume if u use cooller for the mosfets it will be no problem..
howim howim4 years ago
i am not able to find the mentioned Mosfets but i found the IRF530 mosfets...so will it work?
ninjanody howim4 years ago
i use irf640fi.

it seem that it work with irf530. it is better than the mosfet in this schematic..
ninjanody howim4 years ago
the bulbs connect to the + bar the one lead & the other to the 2 middle (commonfor 6 wire motor is 2-5) wires of the motors..
ninjanody4 years ago
the problem with supply to 12 volt solved.. the y axis cd4028be was missfunctioning with more than 5 volts.. replaced and it work fine..
ninjanody4 years ago
i measure the voltage on the ic's ( CD4516 & CD4028) at pin 16 and it is 6,15 volt when the supply power is 12V & 3,34V when the power is 5V.
ninjanody4 years ago
i have a strange problem..

at 5 volt all the axis work fine.. at 12 volt the y axis is not working.

has anyone has any clue.. i suppose that one of the ic for the y axis is not taking the right power. (probably more and it missfuction.)

woodspinner4 years ago
I finally got to try my machine on 24v, what a difference, its doubled my fast jog speed and the motors are running cold, I'll be finding some larger bulbs and see what happens then. I calculated it out and the motors are now turning about 720rpm at full speed.

I had to use two 11 watt bulbs in series so I wouldnt blow the bulbs straight off, they run brighter than before but no burn outs yet. Trying to find some 25-30 watt 24volt bulbs.

I'll keep you posted on the results
ninjanody4 years ago
woodspinner can u tell us how to connect a relay for the sprigle?
if thats relay for spindle, look at the image above of the circuit board, just above and to the left of the printer port are two connections, I believe that is where the relay would go.

do they 2 motors have to be the same. can one have a larger step then the other?
yes, steps per unit can be set individually.
ninjanody4 years ago
unipolar.. (6 - 8 wires)

bipolar steppers have only 4 wires..

most unipolar motors can work as bipolar too if u dont connect the middle wires..
is it a unipolar or bipolar motor HELP
ninjanody4 years ago
Has anyone put relay for the springle?

Anyone has eagle files for this board?
ninjanody4 years ago
Finally i finish my controller. Hope to make the router table soon. Photos soon.
mazimaz4 years ago
Thank you dear friend , i search very site in net and finally i found your comment .
again thank you thank you and thank you . .
sebes4 years ago
Hi all. I built this circuit. I have not tested yet with PC, but I tested an LED. When you put a tester on some pins, light bulbs and engines are starting to make noise but not rotate. I use some step by step motors with 24V and a power supply with 30 VDC.
Does anyone have any idea about the mistake?

Thanks for your help.
stepper motors dont rotate until the driver board gets the signals from the printer port of the computer. at this point, with them turned on and no signal they should go into holding mode and resist turning, more than likely your testing is sending it some weird signals and thats causing the noise.

bobsmith7604 years ago
If you are having trouble finding the CD4516 you can use the CD4029 instead, just bend out pin 9 so it doesn't go in the socket and link it to pin 16 or just +.
Arduino Guy4 years ago
I do not know what stepper motor to use, can you include the site you bought it from? thanks
I used the smallest and it has plenty of torque for a small mill.
ninjanody4 years ago
what type of cap's are the c3, c4 & c5 an what Capacity?
I used 1uF ceramic but the value is not too critical.
lkroland4 years ago
I've done a version of a single controller in Eagle and put it at http://lars.roland.bz/eagle/StepperController.zip if anyone's interested. I hope Tom doesn't mind me posting it here. Thanks so much for a cheap working controller. Reason I only have one (and have to make three of these) is that I can only make really small pcbs.
Thank you for the clear labels for troubleshooting. You rock!
does anyone have experience with auto zeroing the z axis in mach 3? I am having some problems with this circuit/hooking it up in regards to to auto zero plate.?
I managed to accomplish that. I grabbed a screen file from the mach site, big tex's blue screen, wouldnt work with the mach I have so snitched the script from his button and pasted it to the one in mines default screen
got it working, if you google enough you will find good info, i used to blue screen stuff too. The problem I was having is I was working with the wrong pin. According to wiki certain parallel pins are in/out, but in my case at least they were only working as out. So i switched to pin 10 i believe which is only input. electrified my bit and used a pcb as a grounded(-) plate that was hooked up to the ground pins on the parallel port. No pull up resistor needed and worked like a charm.
I used pin 15 with same result, it had an internal pullup resistor on it I guess, when not grounded went to 5v. congrats dude, way to go.

crispycat5 years ago
Hi im having problems :( with kcam my motors do not move but hold torque (cant be moved by hand) however when i leave the power in and take the parallel lead out they start moving around even changing directions!!? i have triple checked all my soldering and connections, have the latest drivers and have coped your kcam setup pictures.. im using.. 12v power suply sunix pci parallel port http://www.sunix.com.tw/product/4008t.html 3x vexta pk244-01aa motors http://catalog.orientalmotor.com/item/all-categories/pk-series-stepping-motors/pk244-01aa?&plpver=11&origin=keyword&filter=&by=prod windows xp sp3 thanks for your help
treflip5 years ago
I used a centronics 36 pin connector (from a printer board) with a centronics to usb cable. Pretty sure the pinouts match but it would only take 17 volts at 24 it popped the pc power supply. What kind of cable is the db25 one? like I know one side is a male but what does the other look like? I'm just going to revert the db25 instead.. Thanks! -Tre
Davide3115 years ago
Is required to put the bulbs? Or i can replace them with some other component? Thanks
I suggest using the bulbs, much easier to manage the power
mathew365 years ago
hey look what i fond etch your own circuit board. http://www.youtube.com/watch?v=tWnfnt2rNO0
samr37l5 years ago
Sorry for all the questions :) ...but heres another. Which kind of light should I start out with? Can you give me the amp ratting for the light? Should the light run at the same voltage as my power supply? I'm new to this stuff if you haven't noticed.... I'm trying to spend the least amount of money as possible, so I'm trying to buy the least amount of items. Again, thank you so much for your responses. They are sooooo helpful! SamR.
that depends entirely on the power supply, voltage used and amp requirement of the motor
24 volts and up to 1.2 Amps. but I'm thinking of running them at 12 volts. Thanks, Sam
samr37l samr37l5 years ago
Ok, I got a light bulb but now my motors don't run. All that happens is they lock up. I've moved the wires around to many times to count. The motor is a 2 phase 6 wire unipolar (I have connected the commons together to make it 5 wire). I know which pins attach to which coils, but when I put it in the correct sequence it doesn't work. Any ideas on how to set it up? Sam
have you run thru the testing sequence per the instructable?
Yah, the led flashes. I'm just lost on why the motor wont work. It just locks up. Here are the motors that I'm using (scroll down to the bottom and you'll see them) Thanks so much.....this is one of the first big projects that I've done and I seem to be not doing so well :) If there is anything that I can do for you, woodspinner, please leave me a message.
it does nothing when you try to single step it?
well....it works now. just needed to work on the mosfet to make sure that it wouldn't short.
SWEET!!!, be sure to post pics
Actually....I'm hoping to make a new instructable helping people with this motor driver, and building an inexpensive large scale CNC. I think that there are a lot of things missing from this one. It should be up sometime in the next 2 weeks (hopefully). Thanks for all the help!!!! SamR.
Hi Sam, Could you post your PCB diagram and the parts list. Looking at all comments on how people got stuck with the design and all, I would like to make sure it works - not good at advanced electronics - like troubleshooting the board if something is wrong - so wanted to follow what you did. Thanks for posting the pic.
Hi Sam, Could you post your PCB diagram and the parts list. Looking at all comments on how people got stuck with the design and all, I would like to make sure it works - not good at advanced electronics - like troubleshooting the board if something is wrong - so wanted to follow what you did. Thanks for posting the pic.
Sure! please send me a message though (so I don't forget).....I'm not at home, and will not be back for 2 weeks. I will definitly post everything I can as soon as I get back. Good luck! SamR.
Hi Sam, Thanks a ton for your reply. Sure, have a great time and when you get back, hope you would be kind enough to all those unfortunate souls and post an instructible as you posted above. Waiting eagerly for that - it would be one of those instructibles (like Tom's) which would be eagerly watched. Regards, Sujith
Ok....Done. Its up and running! (I hope). If you have any questions, or things that I should add, please comment. I'm also working on an instructable for a larger scale CNC (2' by 4'), I just need permission from the designer to post it. Good luck! Sam
Hi Sam, Congrats n good job !!!. Could you post the details pls? - Sujith
Woops :) here is the link: http://www.instructables.com/id/CNC-Driver-Board-Multi-axis/ Sam
samr37l samr37l5 years ago
I have gotten permission.....and I hope to have the instructable up by the end of the summer.....by the latest :)
Sure thing!!! I'd be happy too! ohhhh... And if you read my comments above I was an "unfortunate soul" when I first started this project. :) Sam R.
Thanks for the pic, wish mine looked that good
well....looks good and works well are two different things :)
you will get it
samr37l samr37l5 years ago
Ok, I just found out what was wrong. One of the Mosfets was periodically shorting, making the motor twitch. I fixed the connection. Thanks again for all your help! SamR.
Could I get the part list??
parts list is above, the rtf file
Ok i have a question. I have two stepper motors specifically the one on this data sheet. http://www.eminebea.com/content/html/en/motor_list

It says it runs on 24v. Thats no problem on my end, but can this circuit operate not one, but two?
I also have a http://www.mitsumi.co.jp/latest/Catalog/compo/motor/m42sp5_e.html it also is a 24v stepper.
The two are from a HP Printer (older office jet), and the second came from a scanner. I didn't know what the bulbs are for, and if needed, what specs i need. I would like to get them from digi-key.com.

Also is there a way to make the driver input from a joystick, like for left right forward and reverse, with two triggers for up and down for the Z axis?

Also i have a variable speed transformer that can do 1 -140 volts and can output 10amps. it inputs 120v from a wall outlet, and it has the same outlet recipical on the front for an output of the desired voltage. http://www.kpsurplus.com/powerstat-3pn116b-variable-autotransformer.html
Can i even use this.

VEnom025 years ago
Hello. I want to ask if this CNC controller will work with this CNC machine -> http://www.instructables.com/id/How-to-Make-a-Three-Axis-CNC-Machine-Cheaply-and-/ ?
Craftcadet5 years ago
I have breadboarded this circuit and all is working apart from the direction, I can only go in one direction. I have tested the direction pin on my parallel port with a LED and notice it flashes wildly when stepping from Kcam. If I connect the UP/DWN pin on the counter to either the 0V or 6.2V I get different directions so i know this works. I also tried changing the pin set-up on Kcam to a different pin with the same problem. Any thoughts please ?
a direction pin on the port shouldnt be flashing wildly, it either lites up or not with each change of direction but while stepping it should be constant unless changing direction. Other than that I have no clue.
Thanks for your input. I still have not sorted the issue, anyone had the same problem?
I have sorted my problem Hurrah!. One dodgy parallel cable goes str8 in the bin
Alright need some help here, I needed to beef up my motors to make sure there was nothing skipping.. I now am using 2.3V 3 A motors and i decided to try and use a resistor instead of a lightbulb. I used it for 2-3 minutes with the 50W 3.3ohm resistor(with the heatsink) that it melted the cords around it and burnt me. At the 3 minute~ mark the resistor smoked and no longer worked. Am i doing my math wrong? i was sure a 50W should work considering the circuit *should* be using 28W. Someone please help with the math here... have a made a serious error? Thanks much
the bulbs do more than regulate the current to the motors, they also dissapate the flyback current. about the math, 50w at 12v=4+amps? or do I have it wrong?
the way i calculated it out was 2.6v(motor) at 3A(motor) is 7.8W(motor) ... with a 12V supply capable of supplying 3A with only 1 motor attached I calculated out 3.3ohms so 12-2.6 = 9.4(needed to be dicipated). 9.4V @3A = 28.2W(through the resistor) ... so i chose a 50W resistor thinking it would be plenty but it smoked and went bad after 3 minutes. ... i am confused still with the bulbs though, it seems the higher wattage bulb i install the more current goes to the motors. at 11W bulbs the motor is getting .8W, at 7W they are getting .5W at 4W they are getting .3W. I dont understand why this would be, my though is that the bulb is taking some of the current from the power supply so the motor wont get all of it, but it seems to be the opposite, I orderd a 25W bulb so hopefully it will provide closer to the correct amount of current for these motors. I have to do more calculations with voltage but any more tutilage would be helpful :)
I think it goes like this, your running 3amp motors, 3mps at 12 volts is 36watts. This worked for my system just fine. you want the increased voltage for speed and power, but you dont want to exceed the amperage the motors are rated at, tho actually I bumped mine up a little with no bad effects. I'd suggest going back the the bulbs and work out how many watts your motors can handle before trying the resistor again.
I think i know why the resistor burnt up. This is just a theory right now because i dont have the money to buy the 200W+ resistors I would need. Since most stepper motors have 2 phases(A and B), the motors I have are rated at 3A per phase which means when the 2 phases are on it is using 6A... so to resist 9.4V at 6A it is 56W.... I calculated something last night that gave me 113W but unfortunately cant remember now, So it looks like I will be sticking with the light bulbs because of the cost. Once I get this thing working I am hoping to make a more detailed tutorial as long as i can get permission.
Of course with this circuit, only one phase is lit at a time.
well there goes my theory then, with an 18W light bulb my motor is very under powered but seems to be strong enough for the table, I'v been looking around for more powerful bulbs but not easy to find... the way i figured it to get the full power i would need something like ~35W if not more, any suggestions on where i could get a bulb like this? or if i need a different base to run the more powerful bulbs? It looks like the base that is in the parts list is rated at 20W, I was looking at the 20-100W halogen lights but i would need a different socket... Any thoughts? Thanks
just put 2 bulbs in parallel, 2x18=36, pretty close match, I used 2x14 to get mine, make sure its parallel and not series, unless you switch to 24 volt I snitched sockets from an old toyota pickup, their cheap new and free if you have a friend with a dead car or two laying around.
never would have thought of that, thanks woodspinner!
BTW I am using a 12 V power supply, at the moment capable of ouputting up to 3 A
shaadmahmud5 years ago
hello everyone i have done this project and ...100% works thanks to tomMcwire.... here is my work ( http://must-info.blogspot.com/2010/08/easy-to-build-cnc-mill-stepper-motor.html )
karandex5 years ago
what it the spec of motor it can support ?
bogdanalex5 years ago
Ok...problems on the testing part. I've got power on the pin 16 but when I connect the motor, the bulb doesn't light. If I messed up the wiring of the motor can behave like that ? It's better to test the circuit further, giving commands from the computer and see how it works on the IC pins ?
If it's any help... I've got the same issue, and yet the motors do their job just fine. Maybe you could try with a lower wattage bulb. The motors I'm using are rated at 10 V. Power comes from a 12 V wall wart, fed through a 21 W bulb.
you could check that each of the fets light up in order as you single step along, if they do then its a motor connection, if not dig thru the rest of the logic circuit. even when at rest, the lights should be lit unless disabled by the enable pin. I had this problem at one point, and it turned out to be a bad ground on one of the ics.
How can I check if it's disabled or not , from the enable pin ?
What I've figured so far.. If the power is on (enabled) I do feel it when I try to spin the motor by hand, like kind of a brake on the rotor. Try this, or get an LED with a resistor and check the "enable" pin.
if the motor moves, its not disabled
ziggalo5 years ago
one more question, haha. How many volts do you suggest I start out with?
12v is a nice place to start, any higher and you will need to figure out what resistor to use in the logic power supply side.
When the author says, "don't worry, it's just a little electricity" I'm still a little hesitant. 300 milliamps is no joke. That can easily kill someone.
when done as described, its nothing to worry about, 12v dc.
Is this circuit capable of driving motors rated at 2.3 V at 3A??
ziggalo5 years ago
the parallel port that is on the PCB. Is that supposed to be male or female? I'm having trouble finding a cable for this machine.
woodspinner5 years ago
I dont suppose someone a little further along would be willing to make the pcb for me? I have all the components, just need the pcb.
I have a spare PCB-how much is it worth to ya?
actually, I think it depends on how much its worth to you
How does 8 to 10 dollars sound?
where r u .. i can made it for you
I have been looking and cant figure out what the holes near the parallel port are for? I drilled holes but don't know what goes there... Any thoughts? Thank you
bogdanalex5 years ago
Does anyone know how to connect spindle to this thing ? How can I control the rotation speed of this thing , if I choose to use a motor instead of a mini-drill
you can use one of the output pins to a relay to control the spindle.
za_sly5 years ago
Now, this is weird. I've built the controller, but once I power it, the motor starts moving back and forth without any command being given. It stops only when I put a finger on the 1-8 pins on the 4516, and then it acts upon the commands given (step, direction). Any advice ? Tried swapping the IC's. The same result. Is there something wrong in the schematics ? Or I just missed something when building the circuit ? (Although I've checked every single connection and solder). Thanks for the help.
There is nothing wrong with the circuit...i think you have not connected the ground properly, this would be the main reason why the motor jitters even before the command is given. cheers...!!
Thanks naveen. It's all up and running now. If it matters to anyone, the whole thing runs like it should with IRFU024N mosfet transistors. (http://www.datasheetcatalog.org/datasheet/irf/irfr024n.pdf) Thought maybe someone is having a hard time getting a hold of the mosfets that are on the schematic and are reluctant to try any other mosfets.
check all the grounds.
Thanks woodspinner. It turns out there was a problem when I tracked the wires to the motor. Now it's all good, and running. I am in the middle of making the mechanical part of the project and I am having a tough time tracking down the U slides.
ziggalo5 years ago
Does this work with Mach 3?
hi woodspinner, I remember you saying that you got this circuit to work on a breadboard. What software did you use to test it? if you used mach3, can you give a brief run through of how to do it? I don't want to pay for Kcam before knowing my circuit's gonna work. thanks
if you plan on using kcam, you should use their software for testing, I never got it to work with that, I used mach3, under ports and pins /motor outputs set your ports and pin numbers then go to outputs and do the 3 enables, then play with it from there, mach 3 website has great forums and howto videos.
ziggalo5 years ago
does anyone have a video of this thing running? like actually making something? I'm just really frustrated in making this work, and I need a little inspiration. Thanks
sorry, I dont have mine that far yet, what problems are you having?
I got my PCB made at home, then halfway through soldering components in....I realize it's backwards. So it's back to square one with PCB manufacturing. *sigh. and now the PCB isn't working. Very frustrating project, but I can't wait to see one run. Good luck everyone
That must have been very frustrating. I have mine running x and y from a solderless breadboard until I can build a z axis so I can route the pcb. Hopefully that will happen soon.
I haven't tried breadboarding it. I just put in a hell of a lot of faith in the circuit design. crossing my fingers.
I felt breadboarding would give me a better understanding of the circuit and how it works. I wish I had the ability to just make the pcb but I've never done that before. I'm waiting until I get the z axis built so I can route it, but money problems are making me wait.
I finally have all my components in. time to test. however, i don't know which IC goes where. On the PCB layout, which socket is for the up/down counter and which is for the decoder?
ziggalo5 years ago
I have a question. Which IC goes where? the BCD up/down conter and the IC Decoder CMOS. thanks
nazgults5 years ago
I have neme 23 stepper.It works on 2.3v and 2.1A.Can i use this driver for it?
perwin5 years ago
I would like to make a double sided pcb however there is only the solder side in the project files. Could you post the component side of the board?
Killa-X5 years ago
If anyone at all, knows how to make a simple circuit for a NEMA 23 stepper motor, please let me know how. I need to test if my bipolar 4-wire NEMA stepper motor works. I cannot use a ULN2003, and I wasnt sure if this driver can actually work for this type of motor. Thanks. http://www.interinar.com/public_docs/23Y002S-LW4-02.pdf
You'll need a special bipolar driver for that motor. Save yourself some trouble and buy 3 EasyDrivers ($15) from sparkfun.com.
Well thanks anyways. I did research and found out how to make my bipolar motor run easily on a uln2003 or this driver. I decided to use this driver without the transistors because I'm moding it to work with my bipolar motor. So, very easy to make a 4-wire work with this :)
Oops. I accidentally didn't include the picture. Here it is. (Just in case this doesn't work, I am referring to the third image from the left in the Intro.) ... Never mind. The image is taking too long to upload. If you go to the Intro page and look at the image of the Port Setup window, you'll see what I'm talking about. I've looked all over, and I can't figure out what M code function does. So far as I can tell, pins 16 and 17 don't go anywhere on the circuit board.
the m code functions its talking about would be used to control spindle on off and rotation among other things John
Thank you.
Hello. I was wondering what "M code function" means (see pins 16 and 17 in picture). What does it do?
Kemo0o5 years ago
Sir , I can't find CD4516 in my country ... so may i use 4511 instead of it ?? please wanna ur fast serious reply !
if you read thru all the comments, 800+ I vaguely remember someone doing a substitution but not sure what they used. John
I can get one and send it to you if you want.
clubzaa5 years ago
clubzaa5 years ago
kooshall5 years ago
HI can we use March3 with the board?
desha5 years ago
does this ckt works on 4 wires stepper motor???
To my knowledge, I believe 4-wire stepper motors are (usually) bipolar which will not work with this project. Bipolar steppers are harder to control than unipolar.
Killa-X5 years ago
Will MACH3 work with a driver like this?
jrhogan585 years ago
Has anyone connected up x, y, and z home switches? If so would you mind commenting about whether or not you just connected on pins 11, 12 and 13 or ??? Also if Mach 3 or EMC2 and does it work. I've got my board etched and drilled and getting ready to start soldering!
I think you can just connect the home switches to 5v then to the input pins (either 11,12,or 13). In your CAM software (I use Kcam) you can choose the inputs, and for which homing switches they correspond to. I haven't tried it with this board yet, but I know the homing switches work by themselves.
Actually its more common to use active high for home switches. the input pins of the parallel port when not connected to anything are pulled to 5v by pull up resisters, so if you use a momentary disconnect for home switch and from there to ground, when it homes it will open the switch and send an active hi signal, this will also avoid a lot of horrendous problems from occuring if you have a broken wire on the home switch. broken wire in this situation would give a home signal as soon as it happens creating an emergency stop til fixed, rather than have the table ram the stop to let you know of a problem. Just some things to think about.