Problème contrôle moteurs (liaison série).

Non B@tto, il utilise la méthode readStringUntil qui attend un caractère (la fin de ligne en l'occurence) pour retourner.

En fait l'erreur est bien plus bête

   if (chaine=="moteur1")
    {  
      myMotor1->step(1000, FORWARD, SINGLE);
      Serial.println(chaine);
      goto debut;      
    }

    if (chaine=="moteur2");                                        // <--- OH la grosse boulette
    {
      myMotor2->step(1000, FORWARD, SINGLE);
      Serial.println(chaine);
      goto debut;         
    }

A part pour le premier test, sur tous les autres tu as mis un point virgule après le test donc il est inopérant.
Si tu n'avais pas mis des goto tu t'en serais aperçu tout de suite car tu aurais déroulé toutes les conditions les unes après les autres.

Les goto c'est le diable, il faut les proscrire. En plus dans ton cas ils sont parfaitement inutiles puisque toutes les séquences sont comprises dans un if et sont mutuellement exclusives.