I think I've discovered some issues with the calibration routine. My Y-axis seems to be reversed. If I power up the board, and press the up arrow, then the head moves towards the front, and pressing th down arrow moves the head to the back. After running the calibration routine, then the arrows behave properly. The bug: If I position the head about half-way between the front and back, but with the the left X axis switch depressed, then powerup the arduino board. When I execute the calibration routine, the X axis moves very slowly to the right (presumably because the limit switch is activated. Once the switch becomes de-activated it then moves the head to the back and then rams it to the left, and I have to hit kill the power. Since it moved the head to the right to get off the switch, it already knows which direction is correct. It shouldn't be trying to drive it through the limit switch. I can reproduce this 100% of time, and would be happy to provide video.