The basic system is that if you apply a pulse to a coil, the motor steps 360/64 ~ 5.7 degrees. On removal of the pulse there is a magnetic holding force. The pulse must not be too short or there is not enough power to get the rotar to jump to the next mag, holding position, extending the pulse does increase the magnetic holding force. If the pulses are sent as a continuous train the motor appears to run continuously. By changing the coil to which the pulse is applied the direction of rotation will be reversed. All you got to do is to figure out what size pulse to which coil, when.
First of all use the ULN 2003 and 5 V as per the circuit, your inputs will either be from the Aurdino micro processor, or from some hard built logic. Your logic must generate the stream of pulses as shown in the diagram, but must stop at 70/5.7 ~ 13 full cycles.
Now your logic first you need a clock oscillator which is going to produce the pulses, the frequency must be lower then the max. speed of the motor, 500 HZ (period = 2mS) would be a good starting point). This you apply to a counter that is going to produce a pulse out for step1, on a different pin, a pulse output for tap 2, on another output a pulse for step 3. . . So it will have at least 8 outputs. Now look at your motor wires. The orange lead needs a pulse when outputs 1 or 2 or 8 are energised. So you need an OR gate wired to counter outputs for 1,2 and 8 for its input and its output goes to the UL2003 input that is driving the orange wire. You need a tyhree input OR gate for each motor wire.
That sort of design will cause the motor to continuously rotate. So you need to run another counter connected to the UL2003 orange wire input. When this counter reaches the magic 13, it should kill the pulses either by disabling the oscillator, or by reseting the counter (holding the output to a zero).
There is a likelyhood of a suitable integrated circuit with most of these functions all ready built in. Try googling for "stepper motor drivers".
Frank