Wenn ein Arduino zwischen Applikation und Stepperendstufe sitzt, sollte hier der Fehler liegen.

Schau doch mal bitte im DB der Stepperendstufe nach, welche Eingangssignale das Teil hat. Wahrscheinlich Takt und Richtung neben noch einigen anderen Nebenleitungen (Mikroschritt, Strom, …).

Ich meine, mich erinnern zu können, dass der Schritt am Motor üblicherweise entweder auf die fallende oder die steigende Flanke des Taktes ausgelöst wird.

Code:
   _   _        _   _
T_| |_| |______| |_| |
                _____
R______________|
Beispiel oben: Wenn's die fallende Flanke ist, sollte das Richtungssignal bei steigender Flanke umgeschaltet werden. Sonst isses zu spät.