(2024)
While attempting to control two stepper motors asynchronously via manual control, I encountered a lack of existing libraries and approachable systems. Solutions like Klipper and Marlin offer precision and customization but are built around trajectory-based control or preplanned path-following, which wasn’t suitable for my requirements. I needed near-real-time user control over speed and direction, along with the flexibility to implement various dynamic conditions. This led to the development of this custom control firmware for the RP2040 (Pi Pico), designed to operate two motors asynchronously on dedicated cores of the Pico, providing low-latency, near-real-time manual control of stepper motors. The use of the Pi Pico (a $5 microcontroller) serves as the low-level pulse generator for stepper control while also tracking the current step positions of the motors, offering highly detailed position information. A higher-level program (connected via USB serial) acts as the user command interface.
This firmware will soon be available for download via GitHub. In the meantime, feel free to reach out if you would like early
access!