I already have my 4th axis homing working with ref A using index pulse, but I want it to be quicker and more accurate. With anything faster than extremely slow, it overshoots beyond the index pulse. I want it to home in one direction at high speed, then home in opposite direction at medium speed, then one last home in original direction at very low speed. Doing it this way should be very fast and accurate. How can I do this in vb? Do I need to break it down completely into do while loops and such? Or is there a way to call a homing cycle at specific speed and direction?