Braccio meccanico e requisiti Motore Stepper

Niente da fare ragazzi, posto il codice comunque ma c'è troppo rumore e qualcosa non mi convince:

 if (micros()>=tempoOp1) {
   
               tempoOp1=micros()+1000;
              stopm1++;
              if (hl1 == 0)
              { 
                  digitalWrite(7, HIGH); 
                  hl1=1;
              } else {
                  digitalWrite(7, LOW); 
                  hl1=0;
                    }   
              
              }

con il ciclo for e delay è piu semplice controllare il numero di step e il delay per la velocità.

Se collego un arduino per ogni motore dove al suo interno cè una funzione che accetta come parametri il numero di step e il delay per la velocità?
E con un arduino globale manda i parametri ai arduini in modo che funzionino indipendentemente e quindi multithread... un sistema a 3 core??

Per quanto riguarda il test della linea retta avevate ragione, non riesce a farla, crea un 'arco' proprio perche a step diversi crea angolazioni diverse.... OMG