Oakkar7 has a nice build log on his DIY csCNC, he writes:
Since I started building DIY CNC, I checked the free, opensource motor controller. There are several alternatives. I chose linisteppr controller.
– Simple and cheap (my first priority :) ) and I can source required parts locally
– microstepping, open design (Especially, it’s PIC16F628A based. I’m PIC guy and a lot 16F628A in my stock)
Build log is fast, simple and straight. I used a simple perfboard for faster development.
After building the driver, I tested it with my buspirate using PWM function for generating stepping pulse. I started with 1kHz and increased to 4 kHz.
Project details at Oakkar7 blog.