ESS is fairly good but has drawbacks for me, main ones are it is just a basic board, no spindle control (Unless Step/Dir) so you will need some other board, the I/O is all 5v, so if wanting 24v (best for noise immunity) then you will need some means of converting and you really need breakout boards. The Step/Dir is just single ended, no Index Homing unless your servo drives support it. If using Step/Dir spindle then there are some issues with the ESS (seems to occasionally drop pulses for split second) Spindle Override makes things screw up, so I have mine disabled, also pressing Stop (after feedhold) will just suddenly stop the spindle pulses which is not good on a spindle with a heavy chuck.
The spindle issues may have been addressed in the latest plugins but I have not tried them, so cant say for sure but I would say probably not.
Threading works well with ESS , or has done for me.
Hood