Größere Anzahl Schritte drehen

Das ist ein lustiger Code.

so kompliziert kann man 0,1s warten:

void pinWrong() {
  stepper.setSpeed(1000);
                      Steps2Take  =  0;  // Rotate CCW
                      stepper.step(Steps2Take);
                      delay(100);
                     
 
}

man dreht 0 Schritte und wartet dann.

Motor soll bei korrekt eingegebenen PIN Code auf einen Endschalter fahren.

Nein, das macht Dein Code nicht. er kontrolliert ob der Endschalter betätigt/ncht betätigt ist und dreht dann stur den Motor.

if (digitalRead(Endschalter) == 1) {
    stepper.setSpeed(1000); //Max seems to be 1000
                      Steps2Take  =  -32769;  // Rotate CCW, 1600 = eine Umdrehung laut Augenmaß
                      stepper.step(Steps2Take);
                      delay(100);       
  }

Wenn Du bis zum Endschalter drehen lassen willst dann mußt Du den Endschalter auch dauernd kontrllieren.