Assuming that I am correct in my calculations (and theory), that brings me to another problem. I had toyed with the idea to route the pulses from the BOB through some form of Schmit Trigger circuit to clean them up but have no idea of the resultant frequency or pulse width and do not know whether the PIC16F677 processor will be fast enough to handle the data (20 MHz clock, 200 ns instruction cycle).
Because of the large numbers involved you may struggle with using an essentially 8 bit PIC processor but a 20Mhz clock frequency is more than enough for the job.
If it's any help...
Mach3 Step Pulse width is dependant on both the Kernel Frequency and the Feed Rate - at 25kHz, the maximum pulse width is 40uS, reducing to 10uS at 100kHz. The Step Pulse frequency is generated by the Kernel Frequency but is dependant on the Steps per Unit setting and the Feed Rate being used. Because there is seldom an exact harmonic match between the Feed Rate and the Kernel Frequency, Step Pulses are added or subtracted from the generated pulse train to create the ~correct Feed Rate and this has the effect of causing a cyclic, variable, Step Pulse frequency.
Tweakie.