Recently I purchased some used stepper motors that had encoders already mounted on them.I had been told that EMC could read encoders on steppers and actually stop the program with ferror if the motor lost position due to a stall,drive fault,or loss of power.It would not make it correct itself,just stop the control if it gets out of position.That value is the ferror setting in the .ini in EMC.Mine is currently set at .002 inch.That means at anytime during rapid moves,heavy cuts,dull toll,whatever the case the program stops giving you an opportunity to correct the problem,not to mention the extra safety factor of not having a tool set down out of position after a heavy cut.I am running 2 parallel ports,1 outputs the step and direction commands to the Gecko 203v drives,the 2nd reads the limit switches and encoder counts.I figured the encoder counts would have the match the motor counts,ex:10000 step pulses per inch,10000 encoder counts per inch.Not the case,it appears that EMC can read about anything that you can interface.My encoders are 1024 quadrature=20480 counts per inch,however my motors only require 10000 steps per inch.Not a problem for EMC,the only drawback is the amount of encoder counts per second that you can read in realtime,it will determine your rapids just like the number of steps per inch do on your motors.You cant run any faster than you can make step pulses or read encoder counts.In my case I can generate enough step pulses to move my quill at 240 ipm rapid,but since my encoder count is more than twice what my motors require the encoder becomes the bottleneck.I currently have it working flawlessly 100 ipm rapid with realtime feedback.I am happy with this because this machine only had 120 ipm rapids from the factory,and I know if my encoders matched my motor counts it would be twice as fast.I am posting my .ini and .hal files for anyone who wants to do this to use as a guideline.if you can put encoders on your stepper motors you won't be disappointed,plus if you get encoders with an index channel EMC will also home to the index,meaning it sets itself to a particular mark on the encoder so your homing will be on the money everytime just like a real cnc.The next step is to link the feedback to the adaptive feed in EMC.This would actually slow the feedrate down if the motor approaches a stall and let the machine continue operation with out losing place.And if the load continued all the way to feed 0 it will halt the machining with the ferror position.It could also potentially give you an acceleration increase due to the fact that the motor wont stall.You can utilize everything that the motor is mechanically capable of.