Need help with Stepper Motor Control Timing

I have a question regarding stepper motor control while using the TCP/IP stack.

In the past I have used a timer for my stepper motor control. I set the period of a timer to the required time between pulses and then I change the motor phase outputs as needed in the timer tick ISR. In the cases where I have done this my stepper was moving at a maximum rate of around 400 pulses per second which means the interrupt was occurring every 2.5 milliseconds. And I was using USB for communication to the host.

I am now working on a new product which will use the TCP/IP stack to communicate with a PC over Ethernet. It will also be communicating with other devices via SPI and UART modules. This new device must be capable of operating a stepper up to 2000 pulses per second which means the interrupt may be firing every .5 milliseconds if I use the same timer/ISR approach to drive the stepper. The stepper is turned on and off based on commands received from the host, so communication with the host and operation of the motor need to occur harmoniously and simultaneously. If the stepper speed varies slightly that would not be a problem but it is not ideal. Also, if the stepper were to pause for say a 30ms in the middle of it’s move that WOULD not be acceptable.

I am considering using a PIC24FJ64GA006(see datasheet at with the instruction clock speed of 16MHz (32Mhz/2 using the internal FRC+PLL) for this project. Do you think that the interrupts for the stepper will disrupt the Ethernet communication or vise-versa? Is there a better way of doing this?

I have considered using a separate PIC for the stepper control and then I could send that pic target position commands or halt commands to start and stop the movement but that would add another firmware into the mix and complicate things all around.

Could you let me know where you buy PIC24FJ64GA006 ? I need this item , too . I am finding 3 similar ones here (, which one is what I need ?

I just came in to this board and i apologize for revising this up. I have a 6 wire stepper motor control unit with 12v 0.4A spec (PN 57BYGH207). Although a portion of the steps turned out slow it seems to work fine and doesn’t appear to have any issue. On the other hand when stepping faster it just jitters and produces some notice. The Power supply I am using is 12v 1.5A. I have some smaller 4 wire steppers that seem to work fine 12v 0.48A (PN 1-19-4203). Am I missing something?