What is the minimum step size I can get using arduino motor shield?

I am debating using a driver such as the HW-095 or a motor shield to control a nema stepper motor and need it to be very accurate to move a microscope. Using an arduino motor shield becomes much easier but I am wondering if I am trading off accuracy.

You need to decide for the type of motor. Then the kind of driver is more clear. DC motors and stpeppers use very different kind of drivers.
Both types of motors exist with gearboxes that magnifies the precision.

  • Stepping motor step angle is based on the motor’s construction.

  • A hobby stepper motor cannot be directly connected to a heavy loads.
    A geared stepper motor would be used to move large loads; the gearing reduces the step angle, hence finer control movement capability.

  • Example
    28BYJ-48
    .18° per step, 2048 steps per 360°, full step.

Can you put a number on that? 0.1mm, 0.01mm .... +/-1%, 5%, 10%?

An 8mm lead screw with single start, with 200 step stepper nominally gives 0.01mm, however the accuracy of the screw may only be 0.1mm per revolution.

Note that "microsteps" are not real steps, they are interpolated positions, and may vary depending on load. A better way to increase steps is to use a geared stepper, however you probably then have to deal with backlash.

I would say if you need to get below 0.1mm, careful consideration of the whole stage will be needed.

A "standard" stepper motor is 200 steps per revolution (1.8 degrees per step).

They can be microstepped but I'm not sure how much you can "push" the accuracy and I don't know anything about doing that with the Arduino.

I worked for a company that made something that moved a sample-tray around under a microscope. It used microstepping and cogged belts & pulleys. As far as I remember the pulleys didn't do any "gearing-down" but I really don't remember.

There were optical "home" and "limit" sensors for the X & Y directions.

Each unit had to be mechanically aligned and then there was some software calibration/correction that was done by "targets" on opposite corners of the tray. If I'm remembering correctly it had to be accurate within 0.005 inches.

Exactly what part of a microscope are you moving? The stage, the focus, the lens currently being used? Then tell us how you are mounting the stepper motor and how are you connecting it to the microscope.

The Arduino motor shield apparently uses an L298 driver.
I'm pretty sure that means that the best it can do is half-stepping.

Which stepper are you planning to use? Most modern steppers cannot be driven by these drivers, they need a special current controlling stepper driver. 'Nema' tells nothing about the elctrical characteristic, it merely defines the size of the front plate.
Microstepping is not a means to get more accuracy. In opposite microstepping positions are much more inaccurate as full step positions. The accuracy is defined by the hardware, and to get small accurate steps you need a gear as already mentioned.
And yes, these drivers ( HW-095 or a motor shield ) cannot do microstepping.