[SOLUCIONADO] millis() para varios motores servo y stepper

Lo que ha dicho jose tiene toda la razón. Y la verdad es que no me había fijado. Creo que dentro del if Sólo deberías de tener "el cambio de estado". Por que stepper.runSpeed(); se debería de ejecutar contínuamente tan rápido como sea posible. Es por ello que el loop() no debe de "entretenerse" más que lo inprescindible.

stepper.runSpeed(); "internamente" controla el tiempo transcurrido y "avanza" cuando ha pasado el tiempo necesario, no antes. Pero si mucho después si tardas mucho entre llamada y llamada. Por eso lo debe de ir fuera del if, y ejecutarse cada vez que se ejecute el loop(). Bastaría con ponerlo al principio del loop().

De todas formas, es muy difícil decir si un programa está bien o no si no se sabe qué es lo que se quiere que haga el programa. Digamos que todo programa que compile y que no "corrompa la memoria", técnicamente, está bien hecho. Otra cosas es que sirva para lo que se pensó.

Vamos, que ayudaría que sepamoas que se supone que ha de hacer el programa.