Requesting Help using an MP6500 Stepper Driver

I'm fairly new at using the Arduino and the peripherals that you can attach to it so if I leave out something, please let me know.

I'm building a project using a stepper motor. I was able to get my project coded and working on a breadboard and using the smallish stepper motor that came with my "beginner's kit". I actually got a pretty complex project working on a breadboard. In building this up into the real thing, I' m using this motor from Pololu: Stepper Motor
It's a NEMA 17 bipolar motor, 200 steps/rev, 1.7a/phase.

I'm using this stepper driver: MP6500 with Digital Current Control
It's an MP6500 stepper motor driver with digital current control.
I'm confused and concerned about:

  1. how/when to set the current limit
  2. how/when to set the step size.

Regarding step size, the description on the website says:

Stepper motors typically have a step size specification (e.g. 1.8° or 200 steps per revolution), which applies to full steps. A microstepping driver such as the MP6500 allows higher resolutions by allowing intermediate step locations, which are achieved by energizing the coils with intermediate current levels. For instance, driving a motor in quarter-step mode will give the 200-step-per-revolution motor 800 microsteps per revolution by using four different current levels.

The resolution (step size) selector inputs (MS1 and MS2) enable selection from the four step resolutions according to the table below. These two pins are pulled low through internal 500 kΩ pull-down resistors, so the driver defaults to full-step mode when these inputs are left disconnected. For the microstep modes to function correctly, the current limit must be set low enough (see below) so that current limiting gets engaged. Otherwise, the intermediate current levels will not be correctly maintained, and the motor will skip microsteps.

Further, there's this table showing how to set the MSx pins:

MS1  MS2  Microstep Resolution
Low  Low  Full step
High Low  Half (1/2) step
Low  High Quarter (1/4) step
High High Eighth (1/8) step

I assume that I need to wire the 2 MSx pins to separate digital pins on the Arduino and then use digitalWrite(#,HIGH) or digitalWrite(#,LOW) to set the MSx switches. Further, I need to define these pins on Arduino as OUTPUT. Lastly, I assume that I need to do all this stuff in the setup section and not in the loop. Can someone tell me if I'm correct please?

Regarding setting the current limit, the following is taken from the website:

To achieve high step rates, the motor supply is typically higher than would be permissible without active current limiting. For instance, a typical stepper motor might have a maximum current rating of 1 A with a 5 Ω coil resistance, which would indicate a maximum motor supply of 5 V. Using such a motor with 9 V would allow higher step rates, but the current must actively be limited to under 1 A to prevent damage to the motor. You will typically want to set the driver’s current limit to be at or below the current rating of your stepper motor.

This version of the MP6500 carrier (as opposed to the one with a potentiometer) uses the I1 and I2 inputs to set the current limit. For coarse control, these inputs can be driven low or set to high-impedance to provide four different limit settings in increments of approximately 500 mA:

I1  I2  Current Limit
Z   Z   0.5 A
Low Z   1 A
Z   Low 1.5 A
Low Low 2 A

My chosen motor has a max of 1.7a/phase. I think I'm fine with setting the current limit at 1.5 amps. My power supply will deliver 24VDC and up to 15 amps.

I THINK that, to achieve a current limit of 1.5A, I need to connect the I1 and I2 pins from the driver to my Arduino and then set the I1 pin to HIGH and the I2 pin to LOW. I'm a bit confused with the usage of "Z" in the table presented above.

Does this sound correct and safe?
When exactly do I set the I1 and I2 pins and how do I do it?
Do I just use digitalWrite(#,HIGH) and LOW again?

I assume I would just set them in the setup routine as well but I don't know when the current actually gets sent to the stepper motor. The documentation says that by default the current limit is 0.5a. So I think I'm safe with powering up everything at once and just making sure I set the MS1, MS2, I1 and I2 switches in the setup routine and I should be safe.

Comments?
Lastly, if I wanted to change to half-step, for instance, do I need to change the current limit as well?

For context, I'm using the stepper motor to turn an 8mm lead screw, which in turn moves a wooden platform back and forth. As the lead screw has a 2mm pitch and has 4 starts, one revolution translates to 8 mm of travel. Most of the time, the table is actually stationary. I may command a movement maybe 10 times per hour. I'm not worried about how fast the table moves (within reason) and it only moves at most 7 inches. If it traveled the 7 inches in 10 seconds I would be okay.

1/8 microstepping isn't particularly good for smooth operation, the DRV8825 drivers can both go up to 1/32
microstepping and handle 1.7A (the MP6500 is 1.5A max).

You just have to hardwire the MS pins for the microstepping you want, most likely 1/8th for the MP6500
driver as anything less will be very noisy. I'd normally suggest 1/16th as a good starting point for experimenting
with micro-stepping.

Select 1.5A (2.0A is pointless as its beyond the rating of the chip). Z is a misprint for "high-Z" meaning
high impedance, i.e. don't connect the pin for this setting.

Your supply is overkill, NEMA17 motors take around 5 to 6W. You'll probably only see 0.3A drain from
24V.