Hi Raimro,

Thanks for the pointers. I stuck some instrumenting in to see the delay between changes to the stepper and the timers.

yes the write to co0_w is 417 ms apart: (2525-2107 = 418)

Code
POS = 0   DATA=0
POS = 1   DATA=0
STEPPER:d
CR_STEPPER_MSECS: time = 835.9782 microsecs

CR_STEPPER current pos: -49
POS = 0   DATA=0
POS = 1   DATA=0
CR_TIMER_MSECS: time = 835.978

POS = 0   DATA=0
POS = 1   DATA=44
Fractional time co0_w: 152107.340486 
Trying callloadstring if drawdot then drawdot( 33.000000, 25.333333 ) end
Fractional time co0_w: 152107.340486 
Trying callloadstring if drawdot then drawdot( 33.000000, 29.333333 ) end
STEPPER:8
CR_STEPPER_MSECS: time = 830.0781 microsecs

CR_STEPPER current pos: -48
POS = 0   DATA=0
POS = 1   DATA=38
Fractional time co0_w: 152525.024406 
Trying callloadstring if drawdot then drawdot( 33.000000, 26.333333 ) end
Fractional time co0_w: 152525.024406 
Trying callloadstring if drawdot then drawdot( 33.000000, 27.333333 ) end
Fractional time co0_w: 152525.024406 
Trying callloadstring if drawdot then drawdot( 33.000000, 28.333333 ) end
CR_TIMER_MSECS: time = 830.078

Gonna have to study this some more 8-)