Stepper motor subdivision problem

We have a stepper motor and microstepping motor controller. The microstepping controller provides 128 microsteps. We need as many microsteps as possible.
We have run into a problem. When we look closely at the movement of the motor we can see that the speed seems to change instantaneously at the 128th microstep, i.e. step change. We do not think this is an uncommon problem. Can you explain what the problem is and why this happens?
The way we measured the problem is that we mounted a mirror on the motor and a laser pointer is reflected off the mirror onto a target. As the mirror rotates we image the target with a very high speed camera (1000 frames per second). We then measure the position of the laser dot on the target in each image and plot it. This clearly shows a change every 128 microsteps. We assume this means that this happens with every step change.
The microstepping controller used (by the contractor who designed the system) is cheap. Can you provide a microstepping controller with at least 128 microsteps (the more the better) that does not have this problem.
The motors is: https://www.oyostepper.de/goods-283-Nema-14-Bipolarer-Schrittmotor-mit-Planetengetriebe-5-1-035-deg-54V-067A-18Ncm-Getriebeschrittmotor.html

Hello.

It sounds like what you’re describing is mostly about an uneven step size when microstepping. Microstepping is generally useful for achieving smoother motion and to help reduce vibration, but unfortunately, the size of subsequent micro steps are often not very even.

While using a different driver with some special features (such as the TB67S279FTG with dynamic mixed decay) might help make the steps a little more even, ultimately for an applications that require high precision, you’re probably better off using a higher gear reduction and half- or full-step modes, which are more accurate.

Brandon