using only arduino and transistors to drive steper motor?

Hey guys I have a question. Can I drive a stepper motor with only my arduino and transistors? I'm reading all over you need some pre made driver boards to drive it. But I want to make my own "driver" with just a bunch of drivers? Is that possible?

Sorry I mean with just a bunch of transistors. Is this possible and is it very complex to do?

Yes you can, and no it's not.
You'll probably want to create an H-bridge so you can drive current in two directions.
Most steppers also have 2 coils, so 2 H-bridges will be needed.
You may be able to get away with just 4 transistors if the source voltage is only 5V. If higher than 5, you will need 2 extra transistors to turn on the "upper" PNP or P-channel MOSFETs as they will need their control pin pulled up to the source voltage to turn them off and the Arduino can only handle VCC + 0.5V on an IO pin.

Post all the specs for the motor and list the transistors you planned on using. (as Crossroads mentioned, Mosfets are a better choice and they're cheap)

Yes you can drive a stepper with a bunch of transistors. In the same way that you can paint the external walls of a house with a 1 inch (25mm) paintbrush.

Just use a proper stepper motor driver board.

...R

http://www.ebay.com/itm/A4988-RAMPS-Pololu-StepStick-stepper-motor-driver-with-heatsink-Prusa-Mendel-/201084529309?ssPageName=ADME:L:OU:US:1120

What to do depends on whether it is bipolar or unipolar?
[With a unipolar it's easier, and changing directions is just a matter of reversing the coil sequencing.]

In this one, you don't use U1, the transistors are shown as discrete devices, but that could be a ULN2803

CrossRoads:
Yes you can, and no it's not.
You'll probably want to create an H-bridge so you can drive current in two directions.
Most steppers also have 2 coils, so 2 H-bridges will be needed.
You may be able to get away with just 4 transistors if the source voltage is only 5V. If higher than 5, you will need 2 extra transistors to turn on the "upper" PNP or P-channel MOSFETs as they will need their control pin pulled up to the source voltage to turn them off and the Arduino can only handle VCC + 0.5V on an IO pin.

Thanx just one question though. I built an H-bridge circuit the other day to drive a small DC motor forward and back. 2 NPN transistors were used to do low side switching and then 2 NPN transistors in conjunction with to PNP transistors were used to do high side switching. What bothered me is that I did not have to pull the PNP transistors base pins high? I was using 12v to drive the motor? Is there a reason why I did not need to pull the base pin high in that case?

The only reason I could think of is because even if the PNP was not pulled high and therefore on the "on" position it would only be "on" if the low side, NPN transistor was also switched on? So if I understand correctly, and please correct me if I'm wrong, the low side NPN transistor basically enables you to not use a pullup resister because it breaks the loop for current?

NPN, PNP, you have to move current around to make them turn on.
With PNP, when the pre-NPN was off, there was no current flow, so they could have been weakly off.
Pullup resistor would ensure it was strongly off.

calvingloster:
Thanx just one question though. I built an H-bridge circuit the other day to drive a small DC motor forward and back. 2 NPN transistors were used to do low side switching and then 2 NPN transistors in conjunction with to PNP transistors were used to do high side switching. What bothered me is that I did not have to pull the PNP transistors base pins high? I was using 12v to drive the motor? Is there a reason why I did not need to pull the base pin high in that case?

The only reason I could think of is because even if the PNP was not pulled high and therefore on the "on" position it would only be "on" if the low side, NPN transistor was also switched on? So if I understand correctly, and please correct me if I'm wrong, the low side NPN transistor basically enables you to not use a pullup resister because it breaks the loop for current?

To a first approximation BJT transistors are off if no current flows in the base,
so depriving the base of current is enough to switch off the PNP completely.

However in reality transistors leak a little so the leakage through the NPN will
be amplified by the PNP and might become significant (depends on the NPN
transistor's specs and the temperature range you are contemplating, leakage
increases dramatically with temperature).

If you are using PWM you may want to ensure the fastest possible switching times
for the transistors to reduce losses and heating - adding a base-emitter resistor helps
with this by providing a path for minority carriers to leave the base (BJTs tend
to switch off slowly due to stored charge in the form of minority charge carriers).

I figured out why I never needed pullup resisters on my PNP transistors. If the Low side NPN's are off the they disconnect the ground wire. If the high side "NPN driving pnp" are on while the low side npn's are off then no current can flow cause the ground is disconnected. Thus I do not need a pull up resistor on the base of the pnp's