Stepper Motor Frequency

If by 300Hz you mean 300 steps per second then I don't see any need to use a HardwareTimer. That rate is well within the capability of simple code using micros()

Have a look at the examples in this Simple Stepper Code - especially the second example. It should be capable of modification to provide a few thousand steps per second.

...R
Stepper Motor Basics