Wiring a ULN2003 stepper driver

Just got this driver http://img.tomtop.com/product/xy/500/500/p/gu1/C/4/C2744/C2744-1-0c3b-FV60.jpg

But I have no idea how to connect it to the arduino.

You have IN 1 IN 2 .. .. IN 6 IN 7

and A, B C....F, G

I guess the VCC is for 12 v but what is the jumper next to it?

As far as I know you only need 4 pins for a stepper. Why so many??

Please help

One of many tutorials easily found on line. The chip has 7 inputs and outputs, but you are not required to use all of them.

Which motor do you have? Is it a unipolar or bipolar motor? What is the motor voltage and current? The pins to connect to depends on the program, can you post your program?

I don’t know if is bipolar or unipolar.
This is the ebay link

You have to connect from IN1-IN4 to the arduino digital output. Don’t know what the A,B,C… is.

Try this code and works.

int Pin0 = 22; 
int Pin1 = 23; 
int Pin2 = 24; 
int Pin3 = 25; 
int _step = 0; 
boolean dir = true;// gre
void setup() 
{ 
 pinMode(Pin0, OUTPUT);  
 pinMode(Pin1, OUTPUT);  
 pinMode(Pin2, OUTPUT);  
 pinMode(Pin3, OUTPUT);  
} 
 void loop() 
{ 
 switch(_step){ 
   case 0: 
     digitalWrite(Pin0, LOW);  
     digitalWrite(Pin1, LOW); 
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, HIGH); 
   break;  
   case 1: 
     digitalWrite(Pin0, LOW);  
     digitalWrite(Pin1, LOW); 
     digitalWrite(Pin2, HIGH); 
     digitalWrite(Pin3, HIGH); 
   break;  
   case 2: 
     digitalWrite(Pin0, LOW);  
     digitalWrite(Pin1, LOW); 
     digitalWrite(Pin2, HIGH); 
     digitalWrite(Pin3, LOW); 
   break;  
   case 3: 
     digitalWrite(Pin0, LOW);  
     digitalWrite(Pin1, HIGH); 
     digitalWrite(Pin2, HIGH); 
     digitalWrite(Pin3, LOW); 
   break;  
   case 4: 
     digitalWrite(Pin0, LOW);  
     digitalWrite(Pin1, HIGH); 
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, LOW); 
   break;  
   case 5: 
     digitalWrite(Pin0, HIGH);  
     digitalWrite(Pin1, HIGH); 
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, LOW); 
   break;  
     case 6: 
     digitalWrite(Pin0, HIGH);  
     digitalWrite(Pin1, LOW); 
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, LOW); 
   break;  
   case 7: 
     digitalWrite(Pin0, HIGH);  
     digitalWrite(Pin1, LOW); 
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, HIGH); 
   break;  
   default: 
     digitalWrite(Pin0, LOW);  
     digitalWrite(Pin1, LOW); 
     digitalWrite(Pin2, LOW); 
     digitalWrite(Pin3, LOW); 
   break;  
 } 
 if(dir){ 
   _step++; 
 }else{ 
   _step--; 
 } 
 if(_step>7){ 
   _step=0; 
 } 
 if(_step<0){ 
   _step=7; 
 } 
 delay(1); 
}

Here’s an instruction sheet.

31594mpsch.pdf (71 KB)

Thank you !! I'm going to have to do some research about Open Collector Output and what can be done with that.

Thanks

When input is high, it drives corresponding output low. When input is low, it doesn't drive the output at all. Open collector (and the MOSFET equivalent, open drain) can only drive low (PNP and P-channel open collector/drain devices, as always with P vs N devices, is the opposite - but these are much less common).

Why 7 channels? What's wrong with 7 channels? It's not just for driving unipolar stepper motors... It's a very widely used part - and there isn't a comparable cheap one with just 4 channels (I think the choice was dictated in part by what packages were standard - SOIC-20 is a wider, thicker, bulkier and more expensive package - so they made 2803 for channels that need a whole 8 lines, but also 2003 for 7 lines in the smaller cheaper 14-pin package)

The 28byj48 is a unipolar motor (it can also be run as a bipolar motor though.) this page may help:

https://www.arduino.cc/en/Reference/StepperUnipolarCircuit

Techincally the ULN2003 is a not a stepper driver, it is a generic high current driver that can be used to drive lots of things. If you search for stepper drover chips, the ULN2003 is unlikely to be a result. The stepper motor drivers offer feature that are not included on the ULN2003. One difference is that most stepper driver will control the coils that are powered on in order to make the motor rotate. Using the ULN2003, you are in charge of programming the coils and timing in order to make the motor rotate.

DrAzzy:
When input is high, it drives corresponding output low. When input is low, it doesn’t drive the output at all. Open collector (and the MOSFET equivalent, open drain) can only drive low (PNP and P-channel open collector/drain devices, as always with P vs N devices, is the opposite - but these are much less common).

Why 7 channels? What’s wrong with 7 channels? It’s not just for driving unipolar stepper motors… It’s a very widely used part - and there isn’t a comparable cheap one with just 4 channels (I think the choice was dictated in part by what packages were standard - SOIC-20 is a wider, thicker, bulkier and more expensive package - so they made 2803 for channels that need a whole 8 lines, but also 2003 for 7 lines in the smaller cheaper 14-pin package)

In DIP, ULN2003 is 16 pin, ULN2803 is 18 pin, both narrow, but yes the 18 pin SOIC is wide. IC cost is dominated by sales volume, not the price of epoxy.