diff --git a/embedded/mkstepper-v011/.vs/mkstepper-v011/v14/.atsuo b/embedded/mkstepper-v011/.vs/mkstepper-v011/v14/.atsuo
index 0871b8c868f38dfd65e529bf3b267f96084d33da..0ab6b1ad78864c3f23a5c648dcefc4fc12802044 100644
Binary files a/embedded/mkstepper-v011/.vs/mkstepper-v011/v14/.atsuo and b/embedded/mkstepper-v011/.vs/mkstepper-v011/v14/.atsuo differ
diff --git a/embedded/mkstepper-v011/mkstepper-v011/stepper.c b/embedded/mkstepper-v011/mkstepper-v011/stepper.c
index 53d2df978b03ea8e33dd947eb374c7ec88dc91d3..2a59f03fd635c4a754d8572e49b356223445e9c0 100644
--- a/embedded/mkstepper-v011/mkstepper-v011/stepper.c
+++ b/embedded/mkstepper-v011/mkstepper-v011/stepper.c
@@ -61,9 +61,12 @@ void stepper_targetspeed_float(stepper_t *stepper, float speed){
 
 void stepper_targetspeed_steps(stepper_t *stepper, uint32_t speed){
 	uint32_t speedmin = ((speed / (stepper->position_per_200_steps / 200)) * stepper->microsteps); // enforce no division by 0
+	// minimum of 1 step / s
+	// if speed is 0, we leave speed at minimum and set state to not step?
 	(speedmin < 1) ? speedmin = 1 : (0);
 	// timing not accurate to real-world yet
-	stepper->speed_period = 300000000 / speedmin;
+	// timer is 48MHz clock on a DIV16, so we have 3 000 000 ticks / s (333ns resolution, wow)
+	stepper->speed_period = 60000000 / speedmin;
 }
 
 void stepper_update(stepper_t *stepper){