Thanks, I will use that SPI pinout too then.
I agree with your master plan. Step/dir is for plug-and-play with firmware that expects open loop steppers (Marlin, Klipper, GRBL, etc.). The stepstick will be running closed-loop for better torque and ability to recover from momentary overload, but the motherboard will treat it like any open loop driver.
The “full SPI” mode should simplify the motherboard firmware since it won’t need to do the real-time conversion of planner curves to step/dir pulses, but it will still need to do the planning to ensure that all axes are coordinated to reach target positions and velocities at the same time while keeping within acceleration limits. I’m not very knowledgeable on real-time motion systems, but it seems like you could use the existing trapezoidal planner code on the motherboard even if the drivers are generating S-curves internally. For each motion g-code, send a packet to each driver over SPI containing the end position and 3 trapezoid phases: acceleration (duration, end velocity), cruise (duration), deceleration (duration, end velocity). If all drivers generate S-curves for the acceleration/deceleration phases, they should remain coordinated since the duration of each phase is the same on all axes.
I haven’t even tested them standalone yet, much less in a 3D printer, so no lessons learned yet regarding the viability of relying on PID loops to respond quickly enough to keep up with open loop steppers. I’m sure it would be fine if you use all SimpleFOC stepsticks, but I’d like to offer the BLDC spiral extruder as an upgrade for existing printers without having to convert the entire motion system to closed-loop.