A high speed stepper mottor driver. I struggled through a lot of frustrating designs that could never drive any of my stepper motors at more than 3 or 4 revolutions per second. I wondered how the pros could extract so much better performance out of the same motors. Then I stumbled across a reference design developed by MicroChip( http://ww1.microchip.com/downloads/en/AppNotes/01307A.pdf ).
MicroChip, being a microcontroller company, is interested in selling their PIC chips and not at all hesitant to show how you can get superb performance out of a stepper motor.
After studying their design I rolled my own. I use a different driver stage, and my code is quite different but the core method is the same. Thank you Microchip.
If you need more than a few hundreds of milliamps, L298 will be fried without the heatsink.