Conscious of development scope creep...
After more research, subject to licensing and legal review, I've concluded that it is possible to implement EtherCAT. This could be a slave device with LinuxCNC being the master due to the amazing work on LinuxCNC that's been done already.
It should work over USB since the stack just sees Ethernet frames, ideally though, ESP32 or new ESP32-P4 with native Ethernet PHY would be most appropriate. Why not both?
No TCP/UDP overhead, configurable, fits into any existing EtherCAT setups. Proven. EoE (Ethernet over EtherCAT) support so ESP32 can continue to be configured/diagnosed via its WebUI too.
What's the interest in an EtherCAT multi-axis stepper & DC motor controller?
EDIT: EtherCAT will solve the minor ferror delay since master (LCNC) and slave (ESP32) will be timing synchronised over Ethernet. Therefore LCNC should know precisely where an axis is at any point in time.
It's also no longer a "slave" card anymore, as others may put it, take a look at AC Servo drives and LinuxCNC - Marco Reps video for example.
Effectively becomes a well integrated extension of LCNC for steppers and DC servos. Once Encoder support is added then allowing LCNC to perform axis PID closed loop with all the benefits that brings.
For those that say its impossible.... wanna bet?
Lets start at 1 BTC and go from there?
EDIT:
Well... I'll eat part of my hat... it's "technically" possible to develop a solution without an ESC via the ET9300 slave stack and build a virtual state machine (there are slave simulators) and most of the work can be done in DMA etc - I'd ultimately still have to be part of the ET group (usual membership licensing) in order to actually use it and so realistically whilst it's "possible" it's not feasible considering the cost vs time benefits.
External hardware can be purchased (ESC IC) but that's not the project goal. ESC ICs are reasonably priced (LAN9252 etc), SOES exists as open source so developing a EtherCAT slave motion controller is most certainly realistically feasibly (look at EasyCAT) - but is it actually worth it for the use-case?
I believe a bespoke "simple" custom Ethernet frames would be faster to develop overall with no extra hardware dependencies, given that (IMHO at least anyway) most Stepper/DC servo driven LinuxCNC deployments are a point-to-point motion controller and not aimed at an industrial solution (Ethernet based). Nothing prevents users from using multiple Ethernet interfaces if they require EtherCAT master in LCNC in addition to a stepper solution (rarely, but it's possible).
That's not to say an ESP32 hardware with an ESC IC and being fully EtherCAT slave "compliant" won't be developed in future though, once the current opensource UDP version is proven.
I'm sure a multi-axis EtherCAT ESP32 motion controller board will be beneficial to the project longer term. Trust will eventually build on the ESP32s, I've had 7 years of continual experience with them (various ECOs etc) in numerous environments - IC cost and "tinkerer" reputation really should not be a consideration. IC reliability, availability and longevity should!