Here's a story about a learning experience I had with my CNC3040 router. I'm documenting it here in the hope it helps someone else avoid my mistakes.
One day, in the middle of a light routing job, the X axis suddenly went crazy. It started stuttering and wandering about and generally doing anything else than what it was supposed to do. My first thought was that the driver board had fried. After all, that is something cheap Chinese drivers are known to do. A simple test seemed to confirm my hypothesis. I swapped X and Y axis cables and drove the axis back and forth a little and it seemed to work fine. (Mistake #1: I didn't test the axis at different speeds and accelerations)
So I logged on to eBay and ordered a replacement driver for $10. Once it arrived and I finally got around to replacing it, the axis continued to misbehave. I tested the axes more thoroughly this time and, indeed, the X axis didn't work right with any driver of other drivers either. Frustrated that I had replaced a perfectly good driver (at least now I have a spare), I decided the problem must be in the stepper motor. The erratic behavior (stuttering, random direction changes) seemed consistent with a burnt out phase. So it was back to eBay and ordering a new motor. (Mistake #2: jumping to conclusions without testing. Again.)
You can probably guess what happened when I got the new motor. Nope, it didn't fix the problem. So the problem couldn't be in the computer's parallel port, the breakout board or the drivers and now I had checked that the old motor actually worked fine when connected to the other axes. So what's the only thing left? The wiring. A multimeter revealed that one of the four wires in the stepper power cable was broken. After replacing the cable, the machine worked like new again.
In the end, the whole ordeal was cased by me thinking the wiring was the least likeliest part to fail and not testing that at the beginning. On the plus side, I now have an extra motor and an extra driver, so maybe I'll get around to building that 4th axis someday.