The solution is named Ethersweep, and is a small PCB stack that sits on the rear of the common NEMA17-format stepper motor ... with Arduino covering the firmware and host control side in python.