As promised, confirmed as working with 6 Axes on ESP32 at full 200khz.
24 hour torture and stability testing has been done.
Please read the readme carefully.
Be warned - the ESP32 GPIO is only technically 3.3v compliant so you may need level shifters depending on your application or use-case.
Although, that said, external Stepper motor or closed loop stepper servo drivers usually sink so little current across their EN,Step and DIR pins it isn't a major cause for concern - at least based on my testing here but your milage may vary. You have been warned at least.
Designing a low cost custom PCB with a $5 ESP32 WROOM or WROVER stamp and a LAN8720 Phy would be straightforward - there are plenty of reference designs out there. See Olimex github for a good example.
Just be sure to wire up your GPIOs and any level shifters or isolators accordingly.
Using a WT32-ETH01 module and a custom carrier board would work fine - just be aware of the IO limitations and map out your step and dir pins properly to ensure the RMT peripheral works (test it before designing your board).
Extending the firmware to use a I2S or I2C GPIO mux for other inputs and outputs would be recommended. There are plenty of ESP32 Arduino libs for this.
The software foundation is in place at least.
Adding hardware based high speed Servo Encoder pulse feedback via the Pulse Counter Peripheral hardware is also possible and can use existing Arduino ESP32 libraries for this. The stepper generator does not use the Pulse Counter Peripheral for this reason and future potential.
The firmware has been purposefully based on Arduino libraries and not native esp-idf to make it easier for everyone to extend/adapt to their own use-case. It's been designed and optimised heavily to be as extensible as possible by leaving a CPU core spare to do other tasks.
Project is based on the original HAL2UDP concept by Juhász Zoltán. Thanks goes to him and anyone else who helped contribute to the original project.
github.com/wezhunter/ESP32_LinuxCNC_MotionController_RealTime
Have fun