I'm beyond help with this Stepper Motor

Okay. One sec.

Well, the creep counter-clockwise got a lot faster and smoother, but still no response from the motor with joystick input.

What do you mean by this? Is the motor still not spinning?

Are you sure that you are sending the correct signals to the controller for the motor?

No, the motor is spinning smoothly now and not pulsing.

ok.. so what does this mean then?

When I press the joystick, the serial monitor shows the values change, but the motor doesn't respond to the changes. I just constantly turns clockwise. ( I think I said counter-clockwise before, but I was wrong... it turns clockwise).

Here is an alternative code written with the AccelStepper library. The AccelStepper library is available through the library manager.

You will need to change the pins for your setup and because my test setup for steppers is using a CNC shield there is an enable that you probably do not need.

#include <AccelStepper.h>

// change pins to match your setup.  enable pin just for my CNC shield
const byte stepPin = 2;
const byte dirPin = 5;
const byte enablePin = 8; // for CNC shield
const byte xJoyPin = A0;  

AccelStepper xStepper(AccelStepper::DRIVER, stepPin, dirPin);

void setup()
   pinMode(enablePin, OUTPUT); // for CNC shield
   digitalWrite(enablePin, LOW);  // enable stepper(s)

void loop()
   int xJoy = analogRead(xJoyPin);
   if (xJoy >= 487 && xJoy <= 537) // ±25 hysteresis for center (0 speed)
   else if (xJoy < 487)
      xStepper.setSpeed((487 - xJoy) * 2); // your choice of multiplier     
   else if(xJoy > 537)
      xStepper.setSpeed((537 - xJoy) * 2); // your choice of multiplier      

Try just connecting the motor input signals directly to GND/5v to see if they are working as you expect?

Or try @groundFungus's code... looks like the library being used will save you a lot of work.

Okay. I'll give the code a try. Give me minute.

Alright! The joystick moves the motor in both directions ( and smoothly! ), but the motor still creeps clockwise when there is no input to the joystick.

You guys are awesome! I sure appreciate this.

You might need to play around with the values for the left/right/stop in the code to match what is coming from the joystick.

Printout the joystick value and go from there...

Okay. I'm actually doing that now. Since it seems you have resolved my issue, can you tell me how to increase the "high" speed? Is it limited by the motor or driver or is it code driven?

Increase the value of the multiplier. In the original code the multiplier is 2.

The limit for the AccelStepper library is about 4000 steps/second.

Thank you both for all of your time and advice. You two have saved my butt!

I have a question (just trying to learn)... I looked at the code and I can't figure out how the code is indicating the direction. Is this something the library does for us or am I missing something?

Thank you again.

If you were to print the speed values you would see that fwd values are positive and the reverse values are negative. The library sets the direction by the sign of the speed value.

I see, now. Thank you again. You are very kind.