Based on a former question (https://arduino.stackexchange.com/questions/90281/stepper-motor-and-blink-led) I modified to script to use blink without delay. Unfortunately, it does not work, any idea way? I am using SparkFun RedBoard Plus, Qwiic LED Stick - APA102C, Adafruit Stepper motor - NEMA-17 size - 200 steps/rev and Adafruit Motor Shield V2 Thanks Code: #include <Wire.h> #include <Adafruit_MotorShield.h> #include "Qwiic_LED_Stick.h" // Click here to get the library: http://librarymanager/All#SparkFun_Qwiic_LED_Stick // Variables will change: int ledState = LOW; // ledState used to set the LED unsigned long previousMillis = 0; // will store last time LED was updated // constants won't change: const long interval = 1000; // interval at which to blink (milliseconds) LED LEDStick; //Create an object of the LED class Adafruit_MotorShield AFMS = Adafruit_MotorShield(); Adafruit_StepperMotor *myMotor = AFMS.getStepper(200, 2); void setup() { Wire.begin(); Serial.begin(115200); while (!Serial); Serial.println("Stepper test!"); if (!AFMS.begin()) { // if (!AFMS.begin(1000)) { Serial.println("Could not find Motor Shield. Check wiring."); while (1); } Serial.println("Motor Shield found."); myMotor->setSpeed(50); // 50 rpm //Start up communication with the LED Stick if (LEDStick.begin() == false) { Serial.println("Qwiic LED Stick failed to begin. Please check wiring and try again!"); while (1); } Serial.println("Qwiic LED Stick ready!"); } void loop() { unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interval) { // save the last time you blinked the LED previousMillis = currentMillis; // if the LED is off turn it on and vice-versa: if (ledState == LOW) { ledState = HIGH; } else { ledState = LOW; } // set the LED with the ledState of the variable: LEDStick.setLEDColor(50, 50, 50); } Serial.println("Single coil steps"); myMotor->step(200, FORWARD, SINGLE); }