Pomiędzy Arduino, a silnikiem coś tam jeszcze musi być i (zakładając, ze sam silnik jest sprawny) w tym czymś szukałbym przyczyny.
Widzę 4 przewody, więc zakładam, że silnik jest zasilany z dwóch mostków H, a w taki razie najbardziej prawdopodobne przyczyny to:
1. Brak zasilania jednego mostka.
2. Niewłaściwa kolejność zmiany stanu na porcie dającym sygnały do przełączania mostków.
3. Brak przełączania dolnych lub górnych tranzystorów w jednym z mostków (np. brak podciągnięcia napięcia sterującego górną gałęzią mostka).
4. Jeszcze jakieś inne błędy montażowe w ukladzie sterującym.
Sprawdź oscyloskopem przebiegi sterujące mostkami i ich kolejność.
Jak nie masz oscyloskopu, to podłącz ledy, ustaw ustaw jakąś małą częstotliwość (np. około 1 Hz) i patrz co się dziej.